Skip to main content

Optimizer

Trait Optimizer 

Source
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§

Source

fn step(&mut self, params: &mut [Tensor])

Perform a single optimization step

Source

fn lr(&self) -> f32

Get learning rate

Source

fn set_lr(&mut self, lr: f32)

Set learning rate

Provided Methods§

Source

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

Source

fn zero_grad(&mut self, params: &mut [Tensor])

Zero out all gradients

Source

fn zero_grad_refs(&mut self, params: &mut [&mut Tensor])

Zero gradients on referenced parameters

Implementors§