public void SeluTest() { var Alpha = 1.6732632423543772848170429916717; var a = new Matrix(2, 2); a.InRandomize(); var b = a.Duplicate(); a = new SeluKernel().Forward(a); b.InMap((x) => x > 0 ? x : Alpha * (Math.Exp(x) - 1)); Assert.IsTrue(a == b, "SeLU Activation successful"); }
public void SeluPrimeTest() { var Alpha = 1.6732632423543772848170429916717; var Lambda = 1.0507009873554804934193349852946; var a = new Matrix(2, 2); a.InRandomize(); var b = a.Duplicate(); a = new SeluKernel().Backward(a); b.InMap((x) => x > 0 ? Lambda : Lambda * Alpha * Math.Exp(x)); Assert.IsTrue(a == b, "SeLU Derivative successful"); }