Encog.Neural.Flat.FlatNetwork.Compute C# (CSharp) Method

Compute() public method

Calculate the output for the given input.
public Compute ( double input, double output ) : void
input double The input.
output double Output will be placed here.
return void
        public virtual void Compute(double[] input, double[] output)
        {
            int sourceIndex = _layerOutput.Length
                              - _layerCounts[_layerCounts.Length - 1];

            EngineArray.ArrayCopy(input, 0, _layerOutput, sourceIndex,
                                  _inputCount);

            for (int i = _layerIndex.Length - 1; i > 0; i--)
            {
                ComputeLayer(i);
            }

            // update context values
            int offset = _contextTargetOffset[0];

            for (int x = 0; x < _contextTargetSize[0]; x++)
            {
                _layerOutput[offset + x] = _layerOutput[x];
            }

            EngineArray.ArrayCopy(_layerOutput, 0, output, 0, _outputCount);
        }

Usage Example

Exemplo n.º 1
0
        /// <summary>
        /// Program entry point.
        /// </summary>
        /// <param name="app">Holds arguments and other info.</param>
        public void Execute(IExampleInterface app)
        {
            var network = new FlatNetwork(2, 4, 0, 1, false);
            network.Randomize();

            IMLDataSet trainingSet = new BasicMLDataSet(XORInput, XORIdeal);


            var train = new TrainFlatNetworkResilient(network, trainingSet);

            int epoch = 1;

            do
            {
                train.Iteration();
                Console.WriteLine(@"Epoch #" + epoch + @" Error:" + train.Error);
                epoch++;
            } while (train.Error > 0.01);

            var output = new double[1];
            // test the neural network
            Console.WriteLine(@"Neural Network Results:");
            foreach (IMLDataPair pair in trainingSet)
            {
                double[] input = pair.Input.Data;
                network.Compute(input, output);
                Console.WriteLine(input[0] + @"," + input[1] + @":" + output[0]);
            }
        }
All Usage Examples Of Encog.Neural.Flat.FlatNetwork::Compute