Deep Learning Algorithm Implementations 1.0.0
C++ implementations of fundamental deep learning algorithms
|
AdamW optimizer with autograd support. More...
#include <optimizers.hpp>
Public Member Functions | |
AdamW (std::vector< Variable< T > * > parameters, T lr=1e-3, T beta1=0.9, T beta2=0.999, T eps=1e-8, T weight_decay=1e-2) | |
Constructor. | |
void | step () override |
Perform one AdamW 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_ |
AdamW optimizer with autograd support.
Adam with decoupled weight decay regularization. Often performs better than Adam with L2 regularization.
Paper: "Decoupled Weight Decay Regularization" (Loshchilov & Hutter, 2017)
Definition at line 188 of file optimizers.hpp.
dl::optimization::AdamW< T >::AdamW | ( | std::vector< Variable< T > * > | parameters, |
T | lr = 1e-3 , |
||
T | beta1 = 0.9 , |
||
T | beta2 = 0.999 , |
||
T | eps = 1e-8 , |
||
T | weight_decay = 1e-2 |
||
) |
Constructor.
parameters | Parameters to optimize |
lr | Learning rate (default: 1e-3) |
beta1 | Coefficient for first moment estimate (default: 0.9) |
beta2 | Coefficient for second moment estimate (default: 0.999) |
eps | Term for numerical stability (default: 1e-8) |
weight_decay | Weight decay coefficient (default: 1e-2) |
Definition at line 89 of file optimizers.cpp.
|
inlineoverridevirtual |
Get learning rate.
Implements dl::optimization::AutogradOptimizer< T >.
Definition at line 214 of file optimizers.hpp.
|
inlineoverridevirtual |
Set learning rate.
Implements dl::optimization::AutogradOptimizer< T >.
Definition at line 219 of file optimizers.hpp.
|
overridevirtual |
Perform one AdamW step.
Implements dl::optimization::AutogradOptimizer< T >.
Definition at line 115 of file optimizers.cpp.