我有3个班级:神经元,图层,网络。
一个图层包含一组神经元,一个网络包含一组图层。
神经元具有(属性)输入集合(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);
循环的一部分,实际上是通过层中每一层的输出,并设置下一层每个神经元的输入?
答案 0 :(得分:1)
我假设你已经在“神经元”课程中有了字段变量“输入”。
所以你可以替换代码 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
如果这对你没有帮助,请清楚问题。