2013-02-04 5 views
0

세 개의 클래스가 있습니다 : Neuron, Layer, Network.ArrayList의 다음 요소에있는 ArrayList의 현재 요소에서 집합을 설정하십시오.

레이어에는 뉴런 모음이 들어 있으며 네트워크에는 레이어 모음이 있습니다.

뉴런은 (속성) 입력 컬렉션 (Double)과 단 하나의 출력 (Double)을 가지고 있습니다.

private ArrayList<Layer> layers; 

내가 레이어와 현재 레이어의 신경 세포의 모든 신경 세포를 통해 모든 레이어를 통해에주기를 싶습니다의 모든 신경 세포의 입력으로 개별 출력을 설정 : 네트워크 클래스 내부

내가 가진 내가 모든 층을 통과 할 때까지 다음 층.

는 지금이 작업을 수행하려고 다음과 같은 방법이 있습니다

지금은 실제로 모든의으로 출력한다 통과 뭔가 루프의

neuronOfNextLayer.addInputs(neuronOfPreviousLyaer.output); 

부분을 대체 할 방법

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++; 
     } 
    } 


} 

레이어를 만들고 다음 레이어의 모든 뉴런의 입력을 설정합니다.

답변

1

"Neuron"클래스에 입력 필드가 이미 있다고 가정합니다.

코드를 바꿀 수 있습니다. 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 

만약이 doesnot 도움 당신, 제발 클리 어리 질문.

+0

감사합니다. 올바른 방향으로 나를 지적했습니다. 나는 비슷한 것을 사용하여 끝내었고 나중에 게시 할 것입니다. – edu222