示例#1
0
        private void AssertNetGradient(BackpropAlgorithm alg, double[][,] data, double[] expected)
        {
            var weights = alg.Net.Weights;

            for (int i = 0; i < weights.Length; i++)
            {
                var w = weights[i];
                if (w == null)
                {
                    continue;
                }
                var g = alg.Gradient[i];

                for (int j = 0; j < w.Length; j++)
                {
                    var prev = w[j];
                    var actg = g[j];

                    AssertDerivative(x =>
                    {
                        w[j]     = x;
                        var loss = alg.FeedForward(data, expected);
                        w[j]     = prev;
                        return(loss);
                    }, prev, actg);
                }
            }
        }