nn_full/
nn_full.rs

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}