⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 layer.java

📁 bp人工神经网络算法实现
💻 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 + -