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§
Sourcefn step(&mut self) -> CoreResult<()>
fn step(&mut self) -> CoreResult<()>
Step the optimizer to update variables.
Sourcefn add_variable(&mut self, var: Variable)
fn add_variable(&mut self, var: Variable)
Add a variable to the optimizer.
Provided Methods§
Sourcefn accumulate_gradients(&mut self, gradients: &GradientDict) -> CoreResult<()>
fn accumulate_gradients(&mut self, gradients: &GradientDict) -> CoreResult<()>
Accumulate gradients for momentum-based optimizers
Sourcefn variables_mut(&mut self) -> &mut [Variable]
fn variables_mut(&mut self) -> &mut [Variable]
Get mutable reference to variables (for default implementation)