public void LReluPrimeTest() { var a = new Matrix(2, 2); a.InRandomize(); var b = a.Duplicate(); var Alpha = 0.01; a = new LRelu(0.01).Backward(a); b.InMap((x) => x > 0 ? 1 : Alpha); Assert.IsTrue(Math.Abs(a.FrobeniusNorm() - b.FrobeniusNorm()) < 0.1, new LRelu(0.01).Type().ToString() + " Derivative."); }
public void LReluTest() { var a = new Matrix(2, 2); a.InRandomize(); var b = a.Duplicate(); var Alpha = 0.01; a = new LRelu(0.01).Forward(a); b.InMap((x) => Math.Max(x, Alpha)); Assert.IsTrue(Math.Abs(a.FrobeniusNorm() - b.FrobeniusNorm()) < 0.1, new LRelu(0.01).Type().ToString() + " Activation."); }