Base class for all optimizers, that does not yet define a step() mechanism.
More...
#include <optimizer.h>
Public Member Functions | |
| OptimizerBase (std::vector< Tensor > parameters) | |
Constructs the Optimizer from a vector of parameters. | |
| void | add_parameters (const std::vector< Tensor > ¶meters) |
| Adds the given vector of parameters to the optimizer's parameter list. | |
| virtual void | zero_grad () |
| Zeros out the gradients of all parameters. | |
| const std::vector< Tensor > & | parameters () const noexcept |
| Provides a const reference to the parameters this optimizer holds. | |
| std::vector< Tensor > & | parameters () noexcept |
| Provides a reference to the parameters this optimizer holds. | |
| size_t | size () const noexcept |
| Returns the number of parameters referenced by the optimizer. | |
| virtual void | save (serialize::OutputArchive &archive) const |
Serializes the optimizer state into the given archive. | |
| virtual void | load (serialize::InputArchive &archive) |
Deserializes the optimizer state from the given archive. | |
Protected Member Functions | |
| template<typename T > | |
| T & | buffer_at (std::vector< T > &buffers, size_t index) |
| Accesses a buffer at the given index. More... | |
| Tensor & | buffer_at (std::vector< Tensor > &buffers, size_t index) |
| Accesses a buffer at the given index, converts it to the type of the parameter at the corresponding index (a no-op if they match). More... | |
Protected Attributes | |
| std::vector< Tensor > | parameters_ |
| The parameters this optimizer optimizes. | |
Base class for all optimizers, that does not yet define a step() mechanism.
All it specifies is that optimizers must be supplied with a vector of parameters. It also defines certain methods that all optimizers shall have, such as zero_grad.
Definition at line 34 of file optimizer.h.
|
inlineprotected |
Accesses a buffer at the given index.
Additionally, zeros out the buffers when this is called on the index
Definition at line 68 of file optimizer.h.
|
protected |
Accesses a buffer at the given index, converts it to the type of the parameter at the corresponding index (a no-op if they match).
Additionally, zeros out the buffers when this is called on the index
Definition at line 43 of file optimizer.cpp.
1.8.11