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

📄 delaylayer.java

📁 一个纯java写的神经网络源代码
💻 JAVA
字号:
package org.joone.engine;import java.util.ArrayList;import java.util.Collection;import org.joone.net.NetCheck;import java.util.TreeSet;import org.joone.inspection.implementations.BiasInspection;/** Delay unit to create temporal windows from time series <BR> * <CODE> * O---> Yk(t-N)      <BR> * |                  <BR> * ...                <BR> * |                  <BR> * O---> Yk(t-1)      <BR> * |                  <BR> * O---> Yk(t)        <BR> * |                  <BR> * |<--------- Xk(t)  <BR> * </CODE> * <BR> * Where:<BR> * Xk = Input signal <BR> * Yk(t)...Yk(t-N+1) = Values of the output temporal window <BR> * N = taps */public class DelayLayer extends MemoryLayer {    private static final long serialVersionUID = 1547734529107850525L;    /** Constructor method     */    public DelayLayer() {        super();    }    /** Constructor method     * @param ElemName The layer's name     */    public DelayLayer(java.lang.String ElemName) {        super(ElemName);    }    protected void backward(double[] pattern) {        int x;        int y;        int ncell;        int length = getRows();        for (x = 0; x < length; ++x) {            ncell = x;            for (y = 0; y < getTaps(); ++y) {                backmemory[ncell] = backmemory[ncell + length];                backmemory[ncell] += pattern[ncell];                ncell += length;            }            backmemory[ncell] = pattern[ncell];            gradientOuts[x] = backmemory[x];        }    }    protected void forward(double[] pattern) {        int x;        int y;        int ncell;        int length = getRows();        for (x = 0; x < length; ++x) {            ncell = x + getTaps() * length;            for (y = getTaps(); y > 0; --y) {                memory[ncell] = memory[ncell - length];                outs[ncell] = memory[ncell];                ncell -= length;            }            memory[x] = pattern[x];            outs[x] = memory[x];        }    }    public TreeSet check() {        TreeSet checks = super.check();        if (getTaps() == 0) {            checks.add(new NetCheck(NetCheck.FATAL, "The Taps parameter cannot be equal to zero.", this));        }        if (monitor != null && monitor.getPreLearning() != getTaps() + 1) {            checks.add(new NetCheck(NetCheck.WARNING, "The correct value for the Monitor PreLearning parameter is Taps + 1", this));        }        return checks;    }        /**     * It doesn't make sense to return biases for this layer     * @return null     */    public Collection Inspections() {        Collection col = new ArrayList();        col.add(new BiasInspection(null));        return col;    }    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -