java - 如何在 for 循环中更改属于某个类的变量? ( java )

标签 java for-loop neural-network

尝试编写代码来生成神经网络中的层, 我只是想弄清楚如何为属于神经元本身的变量赋值。我的代码中标准神经元的结构包含在一个名为 XORNeuron 的类中,我在 FOR 循环中调用此类,以便根据创建该层时分配的神经元数量来生成一定数量的神经元。

我正在使用数组来执行此操作,但是我想知道如何分配该层被告知其包含的每个神经元的输入数量。神经元的数量和输入的数量都是在调用层构造函数时提供的参数,这意味着可以轻松创建新层并根据其大小和相对输入数量进行调整。

权重都是在 Neuron 类本身的 FOR 循环中为每个输入自动生成的,具体取决于 Neuron 类保存的名为“numInputs”的变量。我正在尝试编写一个 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();

    }
}

}

最佳答案

通过在创建的神经元中调用 setter

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 来说是惯用的)。

关于java - 如何在 for 循环中更改属于某个类的变量? ( java ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48190181/

相关文章:

java - Gradle 项目同步失败 - Android Studio

batch-file - 命令行 : Using a for loop to create directories with increasing names

compiler-construction - 用于编译源代码的人工神经网络

java - 可变对象和不可变对象(immutable对象)之间的区别

java - 同时读写 ConcurrentHashMap 的值对象

c - for循环计数器中的数组下标运算符

python - 在 python 的列表列表中查找唯一的单词

python - 关于余弦相似度,损失函数和网络如何选择(我有两个方案)

neural-network - 有状态 RNN 中的时间反向传播

java - 如何判断 Cucumber-JVM 中某个步骤正在操作表的哪一行?