lamppp
Loading...
Searching...
No Matches
activation.hpp
1#pragma once
2
3#include "lamppp/autograd/variable.hpp"
4#include "lamppp/nets/module.hpp"
5#include "lamppp/nets/layers/activation.hpp"
6
7namespace lmp::nets {
8
9class ReLUImpl : public ModuleImpl {
10 public:
11 ReLUImpl() = default;
12 autograd::Variable forward(const autograd::Variable& x) const;
13};
14LMP_DEFINE_MODULE(ReLU);
15
16class SigmoidImpl : public ModuleImpl {
17 public:
18 SigmoidImpl() = default;
19 autograd::Variable forward(const autograd::Variable& x) const;
20};
21LMP_DEFINE_MODULE(Sigmoid);
22
23class TanhImpl : public ModuleImpl {
24 public:
25 TanhImpl() = default;
26 autograd::Variable forward(const autograd::Variable& x) const;
27};
28LMP_DEFINE_MODULE(Tanh);
29
30class SoftmaxImpl : public ModuleImpl {
31 public:
32 explicit SoftmaxImpl(ssize_t dim);
33 autograd::Variable forward(const autograd::Variable& x) const;
34
35 private:
36 ssize_t dim_;
37};
38LMP_DEFINE_MODULE(Softmax);
39
40}
Definition variable.hpp:37
Definition module.hpp:19
Definition activation.hpp:9
Definition activation.hpp:16
Definition activation.hpp:30
Definition activation.hpp:23