runn 0.1.1

Runn is a feature-rich, easy-to-use library for building, training, and evaluating feed-forward neural networks in Rust
Documentation
pub mod exponential;
pub mod step;

#[typetag::serde]
pub trait LearningRateScheduler: LearningRateSchedulerClone + Send + Sync {
    fn schedule(&self, epoch: usize, current_learning_rate: f32) -> f32;
}

#[typetag::serde]
impl LearningRateScheduler for Box<dyn LearningRateScheduler> {
    fn schedule(&self, epoch: usize, current_learning_rate: f32) -> f32 {
        (**self).schedule(epoch, current_learning_rate)
    }
}

impl LearningRateSchedulerClone for Box<dyn LearningRateScheduler> {
    fn clone_box(&self) -> Box<dyn LearningRateScheduler> {
        (**self).clone_box()
    }
}

pub trait LearningRateSchedulerClone {
    fn clone_box(&self) -> Box<dyn LearningRateScheduler>;
}

impl Clone for Box<dyn LearningRateScheduler> {
    fn clone(&self) -> Box<dyn LearningRateScheduler> {
        self.clone_box()
    }
}