我有三个类:神经元、层、网络。
层包含神经元的集合,网络包含层的集合。
神经元具有(属性)一组输入(Double)和一个输出(Double。
在网络类中我有:
private ArrayList<Layer> layers;
我想循环遍历每一层,遍历当前层神经元中的每一个神经元,并将它们各自的输出设置为下一层神经元的输入,直到遍历完所有层。
现在我有以下方法来尝试实现这一点:
public void execute(){
//Connecting Network
for (Layer l : layers){
int counter = 0;
while (counter < layers.size()){
for (Neuron n: l.neurons ){
neuronOfNextLayer.addInputs(neuronOfPreviousLyaer.output);
}
counter++;
}
}
}
现在我该如何更换
neuronOfNextLayer.addInputs(neuronOfPreviousLyaer.output);
循环的一部分,它实际上穿过一层又一层的输出,并将设置为下一层的每个神经元的输入?
我假设在类"Neuron"中已经有字段变量"Inputs"。
所以你可以替换代码neuronOfNextLayer.addInputs(neuronOfPreviousLyaer.output);
带有:
Layer nextLayer =layers.get(counter +1);
List<Neuron> nextNeuron=nextLayer.getNeurons();
nextNeuron.get(counter2).inputs=n.output; //Counter 2 is the new counter you should keep in second for each Loop
如果这对你没有帮助,请澄清这个问题。