trait Optimizer
Optimizer trait
Source: optim.joule:10
trait OptimizerOptimizer trait
Source: optim.joule:10
fn step(&mut self);Perform optimization step
Source: optim.joule:12
fn zero_grad(&mut self);Zero all parameter gradients
Source: optim.joule:15
fn get_lr(&self) -> f64;Get current learning rate
Source: optim.joule:18
fn set_lr(&mut self, lr: f64);Set learning rate
Source: optim.joule:21
fn state_dict(&self) -> HashMap<String, Tensor>;Get state dict for checkpointing
Source: optim.joule:24
fn load_state_dict(&mut self, state: &HashMap<String, Tensor>);Load state dict
Source: optim.joule:27
struct ParamGroupSource: optim.joule:32
struct SGDStochastic Gradient Descent with momentum
Source: optim.joule:43
fn new(Create new SGD optimizer
Source: optim.joule:54
fn simple(params: Vec<&mut Tensor>, lr: f64) -> SelfCreate with simple parameters
Source: optim.joule:81
fn with_momentum(params: Vec<&mut Tensor>, lr: f64, momentum: f64) -> SelfCreate with momentum
Source: optim.joule:86
fn step(&mut self)Source: optim.joule:93
fn zero_grad(&mut self)Source: optim.joule:137
fn get_lr(&self) -> f64Source: optim.joule:146
fn set_lr(&mut self, lr: f64)Source: optim.joule:150
fn state_dict(&self) -> HashMap<String, Tensor>Source: optim.joule:156
fn load_state_dict(&mut self, state: &HashMap<String, Tensor>)Source: optim.joule:164
struct AdamAdam optimizer (Adaptive Moment Estimation)
Source: optim.joule:180
fn new(Create new Adam optimizer
Source: optim.joule:193
fn default(params: Vec<&mut Tensor>, lr: f64) -> SelfCreate with default parameters
Source: optim.joule:222
fn step(&mut self)Source: optim.joule:229
fn zero_grad(&mut self)Source: optim.joule:280
fn get_lr(&self) -> f64Source: optim.joule:289
fn set_lr(&mut self, lr: f64)Source: optim.joule:293
fn state_dict(&self) -> HashMap<String, Tensor>Source: optim.joule:299
fn load_state_dict(&mut self, state: &HashMap<String, Tensor>)Source: optim.joule:315
struct AdamWAdamW optimizer (Adam with decoupled weight decay)
Source: optim.joule:339
fn new(Create new AdamW optimizer
Source: optim.joule:345
fn default(params: Vec<&mut Tensor>, lr: f64) -> SelfCreate with default parameters
Source: optim.joule:358
fn step(&mut self)Source: optim.joule:364
fn zero_grad(&mut self)Source: optim.joule:365
fn get_lr(&self) -> f64Source: optim.joule:366
fn set_lr(&mut self, lr: f64)Source: optim.joule:367
fn state_dict(&self) -> HashMap<String, Tensor>Source: optim.joule:368
fn load_state_dict(&mut self, state: &HashMap<String, Tensor>)Source: optim.joule:369
struct RMSpropRMSprop optimizer
Source: optim.joule:377
fn new(Create new RMSprop optimizer
Source: optim.joule:391
fn default(params: Vec<&mut Tensor>, lr: f64) -> SelfCreate with default parameters
Source: optim.joule:422
fn step(&mut self)Source: optim.joule:429
fn zero_grad(&mut self)Source: optim.joule:480
fn get_lr(&self) -> f64Source: optim.joule:489
fn set_lr(&mut self, lr: f64)Source: optim.joule:493
fn state_dict(&self) -> HashMap<String, Tensor>Source: optim.joule:499
fn load_state_dict(&mut self, state: &HashMap<String, Tensor>)Source: optim.joule:507
struct AdagradAdagrad optimizer
Source: optim.joule:523
fn new(Create new Adagrad optimizer
Source: optim.joule:534
fn default(params: Vec<&mut Tensor>, lr: f64) -> SelfCreate with default parameters
Source: optim.joule:561
fn step(&mut self)Source: optim.joule:568
fn zero_grad(&mut self)Source: optim.joule:605
fn get_lr(&self) -> f64Source: optim.joule:614
fn set_lr(&mut self, lr: f64)Source: optim.joule:618
fn state_dict(&self) -> HashMap<String, Tensor>Source: optim.joule:624
fn load_state_dict(&mut self, state: &HashMap<String, Tensor>)Source: optim.joule:632
struct LBFGSLimited-memory BFGS optimizer
Source: optim.joule:648
fn new(Create new LBFGS optimizer
Source: optim.joule:665
fn default(params: Vec<&mut Tensor>, lr: f64) -> SelfCreate with default parameters
Source: optim.joule:696
fn step(&mut self)Source: optim.joule:703
fn zero_grad(&mut self)Source: optim.joule:720
fn get_lr(&self) -> f64Source: optim.joule:729
fn set_lr(&mut self, lr: f64)Source: optim.joule:733
fn state_dict(&self) -> HashMap<String, Tensor>Source: optim.joule:739
fn load_state_dict(&mut self, _state: &HashMap<String, Tensor>)Source: optim.joule:743
trait LRSchedulerLearning rate scheduler trait
Source: optim.joule:751
fn step(&mut self);Update learning rate
Source: optim.joule:753
fn get_lr(&self) -> f64;Get current learning rate
Source: optim.joule:756
fn last_epoch(&self) -> i64;Get last epoch
Source: optim.joule:759
struct StepLRStep learning rate scheduler
Source: optim.joule:763
fn new(optimizer: O, step_size: u64, gamma: f64) -> SelfSource: optim.joule:772
fn step(&mut self)Source: optim.joule:785
fn get_lr(&self) -> f64Source: optim.joule:791
fn last_epoch(&self) -> i64Source: optim.joule:795
struct ExponentialLRExponential learning rate scheduler
Source: optim.joule:801
fn new(optimizer: O, gamma: f64) -> SelfSource: optim.joule:809
fn step(&mut self)Source: optim.joule:821
fn get_lr(&self) -> f64Source: optim.joule:827
fn last_epoch(&self) -> i64Source: optim.joule:831
struct CosineAnnealingLRCosine annealing learning rate scheduler
Source: optim.joule:837
fn new(optimizer: O, t_max: u64, eta_min: f64) -> SelfSource: optim.joule:846
fn step(&mut self)Source: optim.joule:859
fn get_lr(&self) -> f64Source: optim.joule:870
fn last_epoch(&self) -> i64Source: optim.joule:874
struct ReduceLROnPlateauReduce learning rate on plateau
Source: optim.joule:880
fn new(Source: optim.joule:896
fn step_with_metric(&mut self, metric: f64)Call with current metric value
Source: optim.joule:921
fn step(&mut self)Source: optim.joule:959
fn get_lr(&self) -> f64Source: optim.joule:963
fn last_epoch(&self) -> i64Source: optim.joule:967
struct LinearWarmupWarmup with linear schedule
Source: optim.joule:973
fn new(optimizer: O, warmup_steps: u64, start_lr: f64) -> SelfSource: optim.joule:982
fn step(&mut self)Source: optim.joule:995
fn get_lr(&self) -> f64Source: optim.joule:1005
fn last_epoch(&self) -> i64Source: optim.joule:1009
struct WarmupCosineScheduleWarmup + cosine decay (common in transformers)
Source: optim.joule:1015
fn new(optimizer: O, warmup_steps: u64, total_steps: u64, min_lr: f64) -> SelfSource: optim.joule:1025
fn step(&mut self)Source: optim.joule:1039
fn get_lr(&self) -> f64Source: optim.joule:1057
fn last_epoch(&self) -> i64Source: optim.joule:1061