Optimizer

Trait Optimizer 

Source
pub trait Optimizer {
    // Required methods
    fn step(&mut self) -> CoreResult<()>;
    fn zero_grad(&mut self);
    fn add_variable(&mut self, var: Variable);
    fn variables(&self) -> &[Variable];

    // Provided methods
    fn accumulate_gradients(
        &mut self,
        gradients: &GradientDict,
    ) -> CoreResult<()> { ... }
    fn variables_mut(&mut self) -> &mut [Variable] { ... }
}
Expand description

Trait for optimizers that update variables.

Required Methods§

Source

fn step(&mut self) -> CoreResult<()>

Step the optimizer to update variables.

Source

fn zero_grad(&mut self)

Zero all gradients.

Source

fn add_variable(&mut self, var: Variable)

Add a variable to the optimizer.

Source

fn variables(&self) -> &[Variable]

Get all variables managed by the optimizer.

Provided Methods§

Source

fn accumulate_gradients(&mut self, gradients: &GradientDict) -> CoreResult<()>

Accumulate gradients for momentum-based optimizers

Source

fn variables_mut(&mut self) -> &mut [Variable]

Get mutable reference to variables (for default implementation)

Implementors§