rust_ml/core/activations/
relu.rs

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