auto_diff_ann/init.rs
1use ::rand::prelude::StdRng;
2
3use auto_diff::{Var, AutoDiffError};
4use tensor_rs::tensor::Tensor;
5
6pub fn normal(data: &Tensor, mean: Option<Var>, std: Option<Var>, rng: &mut StdRng) -> Result<(), AutoDiffError>{
7 let size = data.size();
8 let mean = if let Some(v) = mean {f64::try_from(v)?} else {0.};
9 let std = if let Some(v) = std {f64::try_from(v)?} else {1.};
10 data.swap(&Var::normal(rng, &size, mean, std).val());
11 Ok(())
12}