📄 layer.java
字号:
package structure;
/**
* 网络中的一个层(隐层或输出层)
* 一层中有几个神经元就有几个输出
* */
public class Layer {
public int num; //一层中神经元的个数,也即输出的个数
public Neuron neurons[];
public double output[]; //该层计算后的输出
/**
* 随机初始化<p>
* @param num 该层中神经元的个数
* @param lastLayerOutNum 上一层的输出数目
* @param func 该层的传输函数
* */
Layer(int num,int lastLayerOutNum,Function func){
this.num =num;
neurons =new Neuron[num];
output =new double[num];
for(int i=0;i<num;i++){
neurons[i]=new Neuron(lastLayerOutNum,func);
}
if (neurons==null)
System.out.println("Q");
}
/**
* 按参数初始化<p>
* @param num 该层中神经元的个数
* @param lastLayerOutNum 上一层的输出数目
* @param func 该层的传输函数
* @param layer 第几层
* */
Layer(int num,int lastLayerOutNum,Function func,int layer){
this.num=num;
neurons =new Neuron[num];
output =new double[num];
for(int i=0;i<num;i++){
neurons[i]=new Neuron(lastLayerOutNum,func,layer,i);
}
if (neurons==null)
System.out.println("Q");
}
/**
* 该层的输出
* */
public double[] getOutput(){
for(int i=0;i<num;i++){
output[i]=neurons[i].getOutput();
}
return output;
}
/**
* 计算该层的输出
* */
public double[] compute(double in[]){
for(int i=0;i<neurons.length;i++){
output[i]=neurons[i].compute(in);
}
return output;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -