Esempio n. 1
0
        public void PowerLayer_Backward(double power, double scale, double shift)
        {
            var config = new PowerLayerConfiguration(power, scale, shift);
            var layer  = new PowerLayer(config);

            if (power != 0 && power != 1 && power != 2)
            {
                var minValue = -shift / scale;

                using (var bottomCpu = bottom.OnCpu())
                {
                    var bottomData = bottomCpu.Data;
                    for (int i = 0; i < bottom.Count; i++)
                    {
                        if (bottomData[i] < minValue)
                        {
                            bottomData[i] = minValue + (minValue - bottomData[i]);
                        }
                    }
                }
            }

            var checker = new GradientChecker(1e-2f, 1e-2f, 1701, 0.0d, 0.01f);

            checker.CheckEltwise(layer, bottom, top);
        }
Esempio n. 2
0
        public void BnllLayer_BackwardGradient()
        {
            var layer = new BnllLayer();

            var checker = new GradientChecker(1e-2f, 1e-3f);
            checker.CheckEltwise(layer, bottom, top);
        }
Esempio n. 3
0
        public void ReluLayer_BackwardGradient()
        {
            var layer = new ReluLayer();

            var checker = new GradientChecker(1e-2f, 1e-3f, 1701, 0.0d, 0.01f);
            checker.CheckEltwise(layer, bottom, top);
        }
Esempio n. 4
0
        public void TanhLayer_BackwardGradient()
        {
            var layer = new TanhLayer();

            var checker = new GradientChecker(1e-2f, 1e-3f, 1701, 0.0d, 0.01f);

            checker.CheckEltwise(layer, bottom, top);
        }
Esempio n. 5
0
        public void ReluLayer_BackwardGradientWithLeakyUnits()
        {
            var config = new ReluLayerConfiguration(0.01f);
            var layer = new ReluLayer(config);

            var checker = new GradientChecker(1e-2f, 1e-2f, 1701, 0.0d, 0.01f);
            checker.CheckEltwise(layer, bottom, top);
        }
Esempio n. 6
0
        public void BnllLayer_BackwardGradient()
        {
            var layer = new BnllLayer();

            var checker = new GradientChecker(1e-2f, 1e-3f);

            checker.CheckEltwise(layer, bottom, top);
        }
Esempio n. 7
0
        public void ReluLayer_BackwardGradientWithLeakyUnits()
        {
            var config = new ReluLayerConfiguration(0.01f);
            var layer  = new ReluLayer(config);

            var checker = new GradientChecker(1e-2f, 1e-2f, 1701, 0.0d, 0.01f);

            checker.CheckEltwise(layer, bottom, top);
        }
        public void DropoutLayer_BackwardGradientTrainPhase()
        {
            Context.Instance.Phase = PhaseType.Train;

            var layer = new DropoutLayer();

            var checker = new GradientChecker(1e-2f, 1e-3f);
            checker.CheckEltwise(layer, bottom, top);
        }
        public void DropoutLayer_BackwardGradientTestPhase()
        {
            Context.Instance.Phase = PhaseType.Test;

            var layer = new DropoutLayer();

            var checker = new GradientChecker(1e-2f, 1e-3f);

            checker.CheckEltwise(layer, bottom, top);
        }
Esempio n. 10
0
        public void PowerLayer_Backward(double power, double scale, double shift)
        {
            var config = new PowerLayerConfiguration(power, scale, shift);
            var layer = new PowerLayer(config);

            if ( power != 0 && power != 1 && power != 2 )
            {
                var minValue = -shift / scale;

                using (var bottomCpu = bottom.OnCpu())
                {
                    var bottomData = bottomCpu.Data;
                    for (int i = 0; i < bottom.Count; i++)
                    {
                        if (bottomData[i] < minValue)
                            bottomData[i] = minValue + (minValue - bottomData[i]);
                    }
                }
            }

            var checker = new GradientChecker(1e-2f, 1e-2f, 1701, 0.0d, 0.01f);
            checker.CheckEltwise(layer, bottom, top);
        }