#[derive(Clone, Copy, Debug, PartialEq)]
pub enum OptimizerKind {
Sgd {
momentum: f32,
nesterov: bool,
},
AdamW {
beta1: f32,
beta2: f32,
eps: f32,
weight_decay: f32,
},
}
#[derive(Clone, Copy, Debug, PartialEq)]
pub enum OptimizerKindF64 {
Sgd {
momentum: f64,
nesterov: bool,
},
AdamW {
beta1: f64,
beta2: f64,
eps: f64,
weight_decay: f64,
},
}
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum OptimizerError {
InvalidHyperParams,
ShapeMismatch,
StepOverflow,
}