@Override public DoubleVector slice(int offset, int length) { return vector.slice(offset, length); }
@Override public DoubleVector slice(int end) { return this.mainVector.slice(end); }
@Override public DoubleVector slice(int length) { return vector.slice(length); }
@Override public DoubleVector slice(int offset, int length) { return vector.slice(offset, length); }
@Override public DoubleVector slice(int length) { return vector.slice(length); }
@Override public DoubleVector slice(int start, int end) { return this.mainVector.slice(start, end); }
/** * Returns the hidden activations of the last RBM. * * @param input the input of the first RBM. * @return a vector that contains the values of the hidden activations on the * last layer. */ public DoubleVector predict(DoubleVector input) { DoubleVector lastOutput = input; for (int i = 0; i < layerSizes.length; i++) { lastOutput = computeHiddenActivations(lastOutput, weights[i]); } // slice the hidden bias away return lastOutput.slice(1, lastOutput.getDimension()); }
/** * Creates a reconstruction of the input using the given hidden activations. * (That, what is returned by {@link #predict(DoubleVector)}). * * @param hiddenActivations the activations of the predict method. * @return the reconstructed input vector. */ public DoubleVector reconstructInput(DoubleVector hiddenActivations) { DoubleVector lastOutput = hiddenActivations; for (int i = weights.length - 1; i >= 0; i--) { lastOutput = computeHiddenActivations(lastOutput, weights[i].transpose()); } // slice the hidden bias away return lastOutput.slice(1, lastOutput.getDimension()); }
@Override public DoubleMatrix slice(int rowOffset, int rowMax, int colOffset, int colMax) { DoubleMatrix m = new SparseDoubleRowMatrix(rowMax - rowOffset, colMax - colOffset); for (int col : columnIndices()) { DoubleVector columnVector = getColumnVector(col); columnVector = columnVector.slice(rowOffset, rowMax); m.setColumnVector(col - colOffset, columnVector); } return m; }
for (int i = 0; i < list.size(); i++) { DoubleVector doubleVector = list.get(i); features[i] = doubleVector.slice(doubleVector.getLength() - 1); outcome[i] = new SingleEntryDoubleVector(doubleVector.get(doubleVector .getLength() - 1));
currentTrainingSet[row], weights[i]); currentTrainingSet[row] = currentTrainingSet[row].slice(1, currentTrainingSet[row].getDimension()); if (verbose && row % 100 == 0) {