rust_ml/core/activations/
tanh.rs

1use crate::core::activations::activation::Activation;
2use crate::core::types::Vector;
3use ndarray::Ix1;
4
5pub struct Tanh;
6
7impl Activation<Ix1> for Tanh {
8    fn activate(z: &Vector) -> Vector {
9        z.mapv(|x| x.tanh())
10    }
11
12    fn derivative(z: &Vector) -> Vector {
13        z.mapv(|x| 1.0 - x.tanh().powi(2))
14    }
15}