use smarty_pants::neural_network::*;
use std::fs::File;
use std::io::{Write, Read};
fn main() {
let mut network:NeuralNetwork = NeuralNetwork::new(1.0,1,3,1);
let output:f64 = network.run(&vec![1.0])[0];
write_file("example.brain", &network).unwrap();
let mut loaded_network:NeuralNetwork = read_file("example.brain").unwrap();
let output2:f64 = loaded_network.run(&vec![1.0])[0];
assert!(output == output2);
}
fn write_file(path:&str, data:&NeuralNetwork) -> std::io::Result<()> {
let mut file = File::create(path)?;
file.write_all(&bincode::serialize(data).unwrap())?;
Ok(())
}
fn read_file(path:&str) -> std::io::Result<NeuralNetwork> {
let mut file:File = File::open(path)?;
let mut contents:Vec<u8> = Vec::new();
file.read_to_end(&mut contents)?;
Ok(bincode::deserialize(&contents).unwrap())
}