簡體   English   中英

如何在for循環中更改屬於某個類的變量? (JAVA)

[英]How do I alter a variable belonging to a class in a for loop? (Java)

嘗試編寫代碼以在神經網絡中生成圖層,而我只是想弄清楚如何為屬於Neuron本身的變量分配值。 我的代碼中標准神經元的結構包含在一個名為XORNeuron的類中,我在FOR循環中調用該類,以便根據創建該層時為其分配的神經元數量來生成一定數量的神經元。

我正在使用數組來執行此操作,但是我想知道如何分配告訴該層包含的每個神經元的輸入數量。 神經元的數量和輸入的數量都是在調用層構造函數時提供的參數,這意味着可以輕松創建新層並對其大小和相對輸入數量進行調整。

權重都是根據Neuron類保存的稱為“ numInputs”的變量自動為Neuron類本身的FOR循環中的每個輸入生成的。 我正在嘗試編寫一個FOR循環,該操作將為告知該層所擁有的神經元數量生成一個新的Neuron實例,然后將輸入數量分配給Neuron類所擁有的“ numInputs”變量,因此它將能夠正確生成權重。

我的代碼是這樣的:

public class XORlayer {

// Create a constructor to create layers of neurons.
// Means we only have to set it up once and can feed it
// settings from then on for tweaking.

XORlayer(int numNeurons,int inpNum) 
{
    XORNeuron[] layerLength = new XORNeuron[numNeurons];

    for(int neuCount = 1; neuCount <= numNeurons; neuCount++) 
    {
        layerLength[neuCount-1] = new XORNeuron();

    }
}

}

通過在創建的神經元中調用二傳手

XORNeuron[] layerLength = new XORNeuron[numNeurons];

    for(int neuCount = 0; neuCount < numNeurons; neuCount++) {
        layerLength[neuCount] = new XORNeuron();
        layerLength[neuCount].setNumInput(inpNum);
    }
}

或通過將輸入計數添加到神經元構造函數中,這樣就可以

layerLength[neuCount] = new XORNeuron(inpNum);

(注意:我將數組索引更改為基於0的for循環,因為這在Java中是慣用的)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM