1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
use super::Kernel; const PARAMS_LEN: usize = 1; pub fn bias<T>() -> Kernel<T> where T: ?Sized, { Kernel::<T>::new( vec![1.0; PARAMS_LEN], Box::new(|_: &T, _: &T, with_grad: bool, params: &[f64]| { let func = params[0]; let grad = if !with_grad { None } else { Some(vec![1.0]) }; Ok((func, grad)) }), ) }