示例#1
0
        public double[] TrainNetWork(double[] truth)
        {
            for (int ii = 0; ii < truth.Count(); ii++)
            {
                Outputs[ii].Error = truth[ii];
            }

            for (int ii = Outputs.Count() - 1; ii >= 0; ii--)
            {
                Outputs[ii].TrainNode();
            }

            for (int ii = Middles.Count() - 1; ii >= 0; ii--)
            {
                Middles[ii].TrainNode();
            }

            var result = new double[Outputs.Count()];

            for (int ii = 0; ii < Outputs.Count(); ii++)
            {
                result[ii] = Outputs[ii].Value;
            }

            return(result);
        }
示例#2
0
        public double[] RunNetwork(double[] input)
        {
            for (int ii = 0; ii < input.Count(); ii++)
            {
                Inputs[ii].Value = input[ii];
            }

            for (int ii = 0; ii < Middles.Count(); ii++)
            {
                Middles[ii].RunNode();
            }

            for (int ii = 0; ii < Outputs.Count(); ii++)
            {
                Outputs[ii].RunNode();
            }

            var result = new double[Outputs.Count()];

            for (int ii = 0; ii < Outputs.Count(); ii++)
            {
                result[ii] = Outputs[ii].Value;
            }

            return(result);
        }