libdl  0.0.1
Simple yet powerful deep learning
Loading...
Searching...
No Matches
adam.hpp
1#ifndef DL_LEARNING_OPTIMIZERS_ADAM_HPP
2#define DL_LEARNING_OPTIMIZERS_ADAM_HPP
3
4#include "../optimizer.hpp"
5
6namespace dl::optim {
10 class Adam : public dl::Optimizer {
11 private:
12 const float lr;
13 const float beta1;
14 const float beta2;
15 const float eps;
16
17 public:
18 Adam(float lr = 0.001f, float beta1 = 0.9f, float beta2 = 0.999f, float eps = 1e-8f)
19 : dl::Optimizer(), lr(lr), beta1(beta1), beta2(beta2), eps(eps) {}
20
21 virtual void step(dl::TensorPtr& loss) override { throw std::runtime_error("Not yet implemented"); }
22 };
23} // namespace dl::optim
24
25#endif
Defines an optimization strategy for a given set of Parameters.
Definition optimizer.hpp:11
The Tensor is a managed pointer to a tensor. It can generally be thought of like an std::unique_ptr<T...
Definition tensorptr.hpp:45
Implements the Adam optimization algorithm .
Definition adam.hpp:10