Deep Learning Algorithm Implementations 1.0.0
C++ implementations of fundamental deep learning algorithms
|
Stochastic Gradient Descent optimizer with autograd support. More...
#include <optimizers.hpp>
Public Member Functions | |
SGD (std::vector< Variable< T > * > parameters, T lr, T momentum=0.0, T weight_decay=0.0, bool nesterov=false) | |
Constructor. | |
void | step () override |
Perform one SGD step. | |
T | get_lr () const override |
Get learning rate. | |
void | set_lr (T lr) override |
Set learning rate. | |
![]() | |
AutogradOptimizer (std::vector< Variable< T > * > parameters) | |
Constructor. | |
virtual | ~AutogradOptimizer ()=default |
virtual void | zero_grad () |
Zero gradients of all parameters. | |
Additional Inherited Members | |
![]() | |
std::vector< Variable< T > * > | parameters_ |
Stochastic Gradient Descent optimizer with autograd support.
Updates parameters using: param = param - lr * grad
Supports:
Definition at line 79 of file optimizers.hpp.
dl::optimization::SGD< T >::SGD | ( | std::vector< Variable< T > * > | parameters, |
T | lr, | ||
T | momentum = 0.0 , |
||
T | weight_decay = 0.0 , |
||
bool | nesterov = false |
||
) |
Constructor.
parameters | Parameters to optimize |
lr | Learning rate |
momentum | Momentum factor (default: 0) |
weight_decay | Weight decay (L2 penalty) (default: 0) |
nesterov | Enable Nesterov momentum (default: false) |
Definition at line 9 of file optimizers.cpp.
|
inlineoverridevirtual |
Get learning rate.
Implements dl::optimization::AutogradOptimizer< T >.
Definition at line 103 of file optimizers.hpp.
|
inlineoverridevirtual |
Set learning rate.
Implements dl::optimization::AutogradOptimizer< T >.
Definition at line 108 of file optimizers.hpp.
|
overridevirtual |
Perform one SGD step.
Implements dl::optimization::AutogradOptimizer< T >.
Definition at line 31 of file optimizers.cpp.