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
6
namespace
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
dl::Optimizer
Defines an optimization strategy for a given set of Parameters.
Definition
optimizer.hpp:11
dl::TensorPtr
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
dl::optim::Adam
Implements the Adam optimization algorithm .
Definition
adam.hpp:10
std::runtime_error
dl
learning
optimizers
adam.hpp
Generated by
1.9.8