public void InputLayer_Backward() { var batchSize = 1; var width = 28; var height = 28; var depth = 3; var random = new Random(232); var fanIn = width * height * depth; var sut = new InputLayer(height, width, depth); sut.Initialize(1, 1, 1, batchSize, Initialization.GlorotUniform, random); var input = Matrix <float> .Build.Random(batchSize, fanIn, random.Next()); sut.Forward(input); var delta = Matrix <float> .Build.Random(batchSize, fanIn, random.Next()); var actual = sut.Backward(delta); var expected = delta; MatrixAsserts.AreEqual(expected, actual); }