Beispiel #1
0
        public virtual double[][] getNetOutputValues(NeuralNet trainedNet)
        {
            int rows = trainedNet.TrainSet.Length;

            int cols = trainedNet.OutputLayer.NumberOfNeuronsInLayer;

            double[][] matrixOutputValues = RectangularArrays.ReturnRectangularDoubleArray(rows, cols);

            switch (trainedNet.trainType)
            {
            case TrainingTypesENUM.BACKPROPAGATION:
                Backpropagation b = new Backpropagation();

                for (int rows_i = 0; rows_i < rows; rows_i++)
                {
                    for (int cols_i = 0; cols_i < cols; cols_i++)
                    {
                        matrixOutputValues[rows_i][cols_i] = b.forward(trainedNet, rows_i).OutputLayer.ListOfNeurons[cols_i].OutputValue;
                    }
                }

                break;

            default:
                throw new System.ArgumentException(trainedNet.trainType + " does not exist in TrainingTypesENUM");
            }

            return(matrixOutputValues);
        }