public virtual NeuralNet initNet(int numberOfInputNeurons, int numberOfHiddenLayers, int numberOfNeuronsInHiddenLayer, int numberOfOutputNeurons) { inputLayer = new InputLayer(); inputLayer.NumberOfNeuronsInLayer = numberOfInputNeurons; listOfHiddenLayer = new List <HiddenLayer>(); for (int i = 0; i < numberOfHiddenLayers; i++) { hiddenLayer = new HiddenLayer(); hiddenLayer.NumberOfNeuronsInLayer = numberOfNeuronsInHiddenLayer; listOfHiddenLayer.Add(hiddenLayer); } outputLayer = new OutputLayer(); outputLayer.NumberOfNeuronsInLayer = numberOfOutputNeurons; inputLayer = inputLayer.initLayer(inputLayer); if (numberOfHiddenLayers > 0) { listOfHiddenLayer = hiddenLayer.initLayer(hiddenLayer, listOfHiddenLayer, inputLayer, outputLayer); } outputLayer = outputLayer.initLayer(outputLayer); NeuralNet newNet = new NeuralNet(); newNet.InputLayer = inputLayer; newNet.HiddenLayer = hiddenLayer; newNet.ListOfHiddenLayer = listOfHiddenLayer; newNet.NumberOfHiddenLayers = numberOfHiddenLayers; newNet.OutputLayer = outputLayer; return(newNet); }