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}