jiro_nn 0.8.1

Neural Networks framework with model building & data preprocessing features.
Documentation
#[cfg(feature = "arrayfire")]
use arrayfire::print;

use jiro_nn::{
    linalg::{Matrix, MatrixTrait},
    vision::{image::Image, image::ImageTrait},
};

pub fn main() {
    #[allow(unused_variables)]
    let image = Image::from_samples(
        &Matrix::from_column_leading_vector2(&vec![
            vec![1.0, 2.0, 3.0, 4.0],
            vec![3.0, 2.0, 0.0, 2.0],
            vec![6.0, 3.0, 1.0, 7.0],
        ]),
        1,
    );

    #[cfg(feature = "arrayfire")]
    print(&image.0);

    let matrix = vec![
        vec![vec![1.0, 2.0], vec![3.0, 4.0]],
        vec![vec![5.0, 6.0], vec![7.0, 8.0]],
        vec![vec![9.0, 8.0], vec![7.0, 6.0]],
    ];

    #[allow(unused_variables)]
    let image = Image::from_fn(2, 2, 1, 3, |x, y, z, s| {
        println!("{} {} {} {}", x, y, z, s);
        matrix[s][y][x]
    });

    #[cfg(feature = "arrayfire")]
    print(&image.0);

    let matrix = vec![
        vec![
            vec![vec![11.0, 2.0, 3.0], vec![4.0, 5.0, 6.0]],
            vec![vec![110.0, 2.0, 3.0], vec![4.0, 5.0, 6.0]],
            vec![vec![1100.0, 2.0, 3.0], vec![4.0, 5.0, 6.0]],
        ],
        vec![
            vec![vec![21.0, 2.0, 3.0], vec![4.0, 5.0, 6.0]],
            vec![vec![210.0, 2.0, 3.0], vec![4.0, 5.0, 6.0]],
            vec![vec![2100.0, 2.0, 3.0], vec![4.0, 5.0, 6.0]],
        ],
        vec![
            vec![vec![31.0, 2.0, 3.0], vec![4.0, 5.0, 6.0]],
            vec![vec![310.0, 2.0, 3.0], vec![4.0, 5.0, 6.0]],
            vec![vec![3100.0, 2.0, 3.0], vec![4.0, 5.0, 6.0]],
        ],
        vec![
            vec![vec![41.0, 2.0, 3.0], vec![4.0, 5.0, 6.0]],
            vec![vec![410.0, 2.0, 3.0], vec![4.0, 5.0, 6.0]],
            vec![vec![4100.0, 2.0, 3.0], vec![4.0, 5.0, 6.0]],
        ],
    ];

    #[allow(unused_variables)]
    let image = Image::from_fn(2, 3, 3, 4, |x, y, z, s| {
        //println!("{} {} {} {}", x, y, z, s);
        matrix[s][z][y][x]
    });

    #[cfg(feature = "arrayfire")]
    print(&image.0);
}