NeuralNet 1.0
Loading...
Searching...
No Matches
Relu.hpp
1#pragma once
2
3#include "Activation.hpp"
4
5namespace NeuralNet {
6class Relu : public Activation {
7 public:
8 static Eigen::MatrixXd activate(const Eigen::MatrixXd &z) {
9 return z.unaryExpr(&Relu::activateValue);
10 }
11
12 static Eigen::MatrixXd diff(const Eigen::MatrixXd &a) {
13 return a.unaryExpr(&Relu::diffValue);
14 }
15
16 static inline std::string slug = "rel";
17
18 private:
19 static double diffValue(double a) { return a > 0 ? 1 : 0; }
20
21 static double activateValue(double z) { return z < 0 ? 0 : z; }
22};
23} // namespace NeuralNet
Definition Activation.hpp:6
Definition Relu.hpp:6