1use crate as burn;
2
3use crate::module::Module;
4use crate::tensor::Tensor;
5use crate::tensor::backend::Backend;
6
7#[derive(Module, Clone, Debug, Default)]
10pub struct Tanh;
11
12impl Tanh {
13    pub fn new() -> Self {
15        Self {}
16    }
17    pub fn forward<B: Backend, const D: usize>(&self, input: Tensor<B, D>) -> Tensor<B, D> {
24        crate::tensor::activation::tanh(input)
25    }
26}
27
28#[cfg(test)]
29mod tests {
30    use super::*;
31
32    #[test]
33    fn display() {
34        let layer = Tanh::new();
35
36        assert_eq!(alloc::format!("{layer}"), "Tanh");
37    }
38}