pub fn normalize<T: Tensor<Dtype = f32>>(t: T, epsilon: T::Dtype) -> T
Expand description

Normalizes t to have mean 0.0 and stddev 1.0: (t - t.mean_last_dim()) / (t.var_last_dim() + epsilon).sqrt().

See mean_last_dim(), std_last_dim(), var_last_dim()

Examples

let a = Tensor1D::new([-2.0, -1.0, 0.0, 5.0, 3.14]);
let r = normalize(a, 1e-5); // or a.normalize(1e-5);
assert!(mean_last_dim(r.duplicate()).data().abs() < 1e-6);
assert!((std_last_dim(r).data() - 1.0).abs() < 1e-6);