1use elara_log::prelude::*;
2use elara_math::prelude::*;
3
4fn main() {
5 Logger::new().init().unwrap();
6 let x = Tensor::linspace(-5.0, 5.0, 50);
7 let func = &x * -5.0;
8 let y = &func + &(Tensor::rand([50, 1]) * 0.4);
9
10 let mut model = Model::new();
11 model.add_layer(Linear::new(1, 10, Activations::None));
12 model.add_layer(Linear::new(10, 10, Activations::None));
13 model.add_layer(Linear::new(10, 1, Activations::None));
14
15 model.compile(Optimizers::SGD);
16 model.fit(&x, &y, 500, 0.00001, true);
17
18 let x_pred = scalar!(1.0);
19 let y_pred = model.predict(&x_pred);
20 println!("Predict result (should be -5): {:?}", y_pred);
21}