pub trait Optimizer {
// Required methods
fn step(&mut self, params: &mut [Tensor]);
fn lr(&self) -> f32;
fn set_lr(&mut self, lr: f32);
// Provided methods
fn step_refs(&mut self, params: &mut [&mut Tensor]) { ... }
fn zero_grad(&mut self, params: &mut [Tensor]) { ... }
fn zero_grad_refs(&mut self, params: &mut [&mut Tensor]) { ... }
}Expand description
Trait for optimization algorithms
Required Methods§
Provided Methods§
Sourcefn step_refs(&mut self, params: &mut [&mut Tensor])
fn step_refs(&mut self, params: &mut [&mut Tensor])
Perform optimization step on referenced parameters
This is useful when parameters are borrowed from a model
Sourcefn zero_grad_refs(&mut self, params: &mut [&mut Tensor])
fn zero_grad_refs(&mut self, params: &mut [&mut Tensor])
Zero gradients on referenced parameters
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".