TrainingAlgorithm

Trait TrainingAlgorithm 

Source
pub trait TrainingAlgorithm<T: Float>: Send {
    // Required methods
    fn train_epoch(
        &mut self,
        network: &mut Network<T>,
        data: &TrainingData<T>,
    ) -> Result<T, TrainingError>;
    fn calculate_error(&self, network: &Network<T>, data: &TrainingData<T>) -> T;
    fn count_bit_fails(
        &self,
        network: &Network<T>,
        data: &TrainingData<T>,
        bit_fail_limit: T,
    ) -> usize;
    fn save_state(&self) -> TrainingState<T>;
    fn restore_state(&mut self, state: TrainingState<T>);
    fn set_callback(&mut self, callback: TrainingCallback<T>);
    fn call_callback(
        &mut self,
        epoch: usize,
        network: &Network<T>,
        data: &TrainingData<T>,
    ) -> bool;
}
Expand description

Main trait for training algorithms

Required Methods§

Source

fn train_epoch( &mut self, network: &mut Network<T>, data: &TrainingData<T>, ) -> Result<T, TrainingError>

Train for one epoch

Source

fn calculate_error(&self, network: &Network<T>, data: &TrainingData<T>) -> T

Calculate the current error

Source

fn count_bit_fails( &self, network: &Network<T>, data: &TrainingData<T>, bit_fail_limit: T, ) -> usize

Count bit fails

Source

fn save_state(&self) -> TrainingState<T>

Save training state

Source

fn restore_state(&mut self, state: TrainingState<T>)

Restore training state

Source

fn set_callback(&mut self, callback: TrainingCallback<T>)

Set a callback function

Source

fn call_callback( &mut self, epoch: usize, network: &Network<T>, data: &TrainingData<T>, ) -> bool

Call the callback if set

Implementors§