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}