burn-tensor 0.18.0

Tensor library with user-friendly APIs and automatic differentiation support
#[burn_tensor_testgen::testgen(softplus)]
mod tests {
    use super::*;
    use burn_tensor::{Tensor, TensorData, activation};
    use burn_tensor::{Tolerance, ops::FloatElem};
    type FT = FloatElem<TestBackend>;

    #[test]
    fn test_softplus_d2() {
        let tensor =
            TestTensor::<2>::from([[-0.4240, -0.9574, -0.2215], [-0.5767, 0.7218, -0.1620]]);

        let output = activation::softplus(tensor.clone(), 1.0);
        let expected = TensorData::from([
            [0.503453, 0.324898, 0.588517],
            [0.445806, 1.117805, 0.615424],
        ]);

        output
            .into_data()
            .assert_approx_eq::<FT>(&expected, Tolerance::default());

        let output = activation::softplus(tensor, 2.0);
        let expected = TensorData::from([
            [0.178232, 0.068737, 0.247990],
            [0.137132, 0.827771, 0.272106],
        ]);

        output
            .into_data()
            .assert_approx_eq::<FT>(&expected, Tolerance::default());
    }
}