neural_network_rs/neural_network/optimizer/mod.rs
1pub mod adam_optimizer;
2pub mod rmsprop_optimizer;
3pub mod sgd_optimzer;
4
5use ndarray::Array2;
6
7use crate::neural_network::{layer::Layer, Summary};
8
9pub trait Optimizer: Summary {
10 fn update_params(
11 &mut self,
12 layers: &mut Vec<Layer>,
13 nabla_bs: &Vec<Array2<f64>>,
14 nabla_ws: &Vec<Array2<f64>>,
15 );
16
17 fn initialize(&mut self, layers: &Vec<Layer>);
18
19 fn pre_update(&mut self);
20
21 fn post_update(&mut self);
22}