rotta_rs 0.0.5

a Deep Learning library with rust language
Documentation
use crate::Tensor;

pub fn mean_axis(x: &Tensor, d: &[i32]) -> Tensor {
    let shape = x.shape();

    let mut len = 1;
    d.iter().for_each(|d| {
        let d = (if *d >= 0 { *d } else { (shape.len() as i32) + d }) as usize;

        len *= shape[d];
    });

    &x.sum_axis(d) / (len as f64)
}

pub fn mean_axis_keep_dim(x: &Tensor, d: &[i32]) -> Tensor {
    let shape = x.shape();

    let mut len = 1;
    d.iter().for_each(|d| {
        let d = (if *d >= 0 { *d } else { (shape.len() as i32) + d }) as usize;

        len *= shape[d];
    });

    &x.sum_axis_keep_dim(d) / (len as f64)
}