Пример #1
0
        public double RunEpoch(double[][] input)
        {
            double error = 0.0;

            double[][] data = new double[input.Length][];

            for (int i = 0; i < data.Length; i++)
            {
                data[i] = (double[])input[i].Clone();
            }

            for (int i = 0; i < rbm_learnings.Length; i++)
            {
                Console.WriteLine(i);

                RBMLayer rbm = dbn.Layers[i];

                rbm_learnings[i] = new RBMLearning(rbm);

                for (int j = 0; j < epoch; j++)
                {
                    rbm_learnings[i].RunEpoch(data);
                }

                for (int j = 0; j < input.Length; j++)
                {
                    data[j] = rbm.ComputeDown(data[j]);
                }
            }

            return(error);
        }
Пример #2
0
        public double RunEpoch(double[][] input)
        {
            double error = 0.0;

            double[][] data = new double[input.Length][];

            for(int i = 0; i < data.Length; i++)
            {
                data[i] = (double[]) input[i].Clone();
            }

            for (int i = 0; i < rbm_learnings.Length; i++)
            {
                Console.WriteLine(i);

                RBMLayer rbm = dbn.Layers[i];

                rbm_learnings[i] = new RBMLearning(rbm);

                for (int j = 0; j < epoch; j++)
                {
                    rbm_learnings[i].RunEpoch(data);
                }

                for (int j = 0; j < input.Length; j++)
                {
                    data[j] = rbm.ComputeDown(data[j]);
                }
            }

            return error;
        }