List of usage examples for org.apache.commons.math.linear Array2DRowRealMatrix multiply
public Array2DRowRealMatrix multiply(final Array2DRowRealMatrix m) throws IllegalArgumentException
m. From source file:org.micromanager.plugins.magellan.propsandcovariants.LaserPredNet.java
public byte[] forwardPass(double[][] x) { double[] ones = new double[x.length]; Arrays.fill(ones, 1.0);//from w ww. j a va 2s. c o m Array2DRowRealMatrix onesMat = new Array2DRowRealMatrix(ones); //assume x is properly normalized new Array2DRowRealMatrix(x[0]); Array2DRowRealMatrix xMat = (Array2DRowRealMatrix) MatrixUtils.createRealMatrix(x); Array2DRowRealMatrix h = xMat.multiply(W1_).add(onesMat.multiply(B1_)); relu(h); Array2DRowRealMatrix z = (Array2DRowRealMatrix) h.multiply(W2_.transpose()).add(onesMat.multiply(B2_)); byte[] powers = new byte[z.getRowDimension() * z.getColumnDimension()]; for (int i = 0; i < powers.length; i++) { powers[i] = (byte) Math.max(0, Math.min(255, z.getEntry(i, 0))); } return powers; }