Documentation
1
2
3
4
5
6
7
8
use hodu_core::{error::HoduResult, scalar::Scalar, tensor::Tensor};
pub use hodu_nn_macros::Optimizer;

pub trait Optimizer {
    fn step(&mut self, parameters: &mut [&mut Tensor]) -> HoduResult<()>;
    fn zero_grad(&mut self, parameters: &mut [&mut Tensor]) -> HoduResult<()>;
    fn set_learning_rate(&mut self, learning_rate: impl Into<Scalar>);
}