public void AddInputs(NeuralNetworkLayer W) { foreach(Neuron N in W.Neurons) { AddInputs(N); } }
public NeuralNetwork(int inputSize, int hiddenLayersSize, int outputSize, int hiddenLayersCount, iActivationFunction f) { // tworzenie odpowiednich warstw... inputLayer = new NeuralNetworkLayer(inputSize, f); //**** outputLayer = new NeuralNetworkLayer(outputSize, f); hiddenLayers = new NeuralNetworkLayer[hiddenLayersCount]; for (int i=0; i<hiddenLayersCount; i++) { hiddenLayers[i] = new NeuralNetworkLayer(hiddenLayersSize, f); } // ...i laczenie ich ze soba. //wyjsciowej z ukrytymi outputLayer.AttachToLayer(hiddenLayers[hiddenLayersCount-1]); //ukrytych ze sob¹ for (int i=(hiddenLayersCount-1); i>0; i--) { hiddenLayers[i].AttachToLayer(hiddenLayers[i-1]); } //ukrytych z wejœciow¹ hiddenLayers[0].AttachToLayer(inputLayer); }
public void AttachToLayer(NeuralNetworkLayer W) { //laczy z nizsza warstwa od tej ktora wywolywuje metode foreach(Neuron N in Neurons) { N.AddInputs(W); } }