tenzr::optim::Optimizer¶
Binds a parameter set to a gradient transformation and applies update steps.
#include <optimizer.h>
Public Functions¶
| Name | |
|---|---|
| Optimizer(std::unordered_map< std::string, Tensor > params, std::shared_ptr< GradientTransformation > transform) | |
| Optimizer(nn::Module & module, std::shared_ptr< GradientTransformation > transform) | |
| void | Step(const std::unordered_map< std::string, Tensor > & grads) |
| uint64_t | StepCount() const |
| const OptState & | State() const |
| OptState & | State() |
| const std::unordered_map< std::string, Tensor > & | Params() const |
Public Functions Documentation¶
function Optimizer¶
Optimizer(
std::unordered_map< std::string, Tensor > params,
std::shared_ptr< GradientTransformation > transform
)
Parameters:
- params Named parameters to optimize.
- transform Gradient transformation; must not be null.
Construct an optimizer over an explicit parameter map and initialize its state.
function Optimizer¶
Parameters:
- module Module whose parameters are optimized.
- transform Gradient transformation; must not be null.
Construct an optimizer over a module's trainable parameters and initialize its state.
function Step¶
Parameters:
- grads Gradients keyed by parameter name.
- grads Named gradients keyed by parameter name.
Apply one optimization step. Apply one gradient update to every parameter present in grads.
function StepCount¶
Return: Number of update steps taken.
function State¶
Return: Const reference to the optimizer state.
function State¶
Return: Mutable reference to the optimizer state.
function Params¶
Return: Const reference to the parameter map.