use super::*;
impl Network {
pub fn get_params_list(&self) -> Vec<f64> {
let mut params = Vec::new();
for connection in self.connections.iter() {
params.push(connection.weight);
}
for layer in self.layers.iter() {
for bias in layer.bias.iter() {
params.push(*bias);
}
}
params
}
pub fn apply_params(&mut self, params: Vec<f64>) {
let mut param_idx = 0;
for connection in self.connections.iter_mut() {
connection.weight = params[param_idx];
param_idx += 1;
}
for layer in self.layers.iter_mut() {
for bias in layer.bias.iter_mut() {
*bias = params[param_idx];
param_idx += 1;
}
}
}
}