public void ForwardBackwardで形が変わらない() { var func = new MeanSquaredError(); var x0 = new Variable(Matrix <float> .Build.DenseOfArray(new float[, ] { { 1, 1, 1 } })); var loss = func.Forward( x0, new Variable(Matrix <float> .Build.DenseOfArray(new float[, ] { { 1, 2, 3 } })) ); loss.CurrentGrad = loss.Value; var gxs = func.Backward(loss).ToList(); Assert.AreEqual(gxs[0].ColumnCount, x0.Value.ColumnCount); Assert.AreEqual(gxs[0].RowCount, x0.Value.RowCount); }
public void Forwardできる() { var func = new MeanSquaredError(); var loss = func.Forward( new Variable(Matrix <float> .Build.DenseOfArray(new float[, ] { { 1, 1, 1 } })), new Variable(Matrix <float> .Build.DenseOfArray(new float[, ] { { 1, 2, 3 } })) ); Helper.AssertMatrixAlmostEqual( loss.Value, Matrix <float> .Build.DenseOfArray(new float[, ] { { 1.6666666269302368f } }), delta: 0.00001f ); }