sb.append("\n=== INPUT ").append(i).append(" ===\n").append(getFeatures(i).toString().replaceAll(";", "\n")); if (getFeaturesMaskArray(i) != null) { sb.append("\n--- INPUT MASK ---\n")
/** * Clone the dataset * * @return a clone of the dataset */ @Override public MultiDataSet copy() { MultiDataSet ret = new MultiDataSet(copy(getFeatures()), copy(getLabels())); if (labelsMaskArrays != null) { ret.setLabelsMaskArray(copy(labelsMaskArrays)); } if (featuresMaskArrays != null) { ret.setFeaturesMaskArrays(copy(featuresMaskArrays)); } return ret; }
INDArray[] features = input.getFeatures(); if (input.getFeaturesMaskArrays() != null) { throw new IllegalArgumentException("Currently cannot support featurizing datasets with feature masks");
public BenchmarkMultiDataSetIterator(MultiDataSet example, int totalIterations) { this.baseFeatures = new INDArray[example.getFeatures().length]; for (int i = 0; i < example.getFeatures().length; i++) { baseFeatures[i] = example.getFeatures()[i].dup(); } this.baseLabels = new INDArray[example.getLabels().length]; for (int i = 0; i < example.getLabels().length; i++) { baseFeatures[i] = example.getLabels()[i].dup(); } Nd4j.getExecutioner().commit(); this.limit = totalIterations; }
@Override public String toString() { StringBuilder builder = new StringBuilder(); int totalEntries = numFeatureArrays(); if (totalEntries != numLabelsArrays()) { return ""; } for (int i = 0; i < totalEntries; i++) { builder.append("\n=========== ENTRY " + i + " =================\n"); builder.append("\n=== INPUT ===\n").append(getFeatures(i).toString().replaceAll(";", "\n")) .append("\n=== OUTPUT ===\n").append(getLabels(i).toString().replaceAll(";", "\n")); if (getFeaturesMaskArray(i) != null) { builder.append("\n=== INPUT MASK ===\n") .append(getFeaturesMaskArray(i).toString().replaceAll(";", "\n")); } if (getLabelsMaskArray(i) != null) { builder.append("\n=== OUTPUT MASK ===\n") .append(getLabelsMaskArray(i).toString().replaceAll(";", "\n")); } } return builder.toString(); }
public BenchmarkMultiDataSetIterator(MultiDataSet example, int totalIterations) { this.baseFeatures = new INDArray[example.getFeatures().length]; for (int i = 0; i < example.getFeatures().length; i++) { baseFeatures[i] = example.getFeatures()[i].dup(); } this.baseLabels = new INDArray[example.getLabels().length]; for (int i = 0; i < example.getLabels().length; i++) { baseFeatures[i] = example.getLabels()[i].dup(); } Nd4j.getExecutioner().commit(); this.limit = totalIterations; }
@Override public MultiDataSet next() { counter.incrementAndGet(); val p = backedIterator.next(); if (counter.get() == 1 && firstTrain == null) { // first epoch ever, we'll save first dataset and will use it to check for equality later firstTrain = (org.nd4j.linalg.dataset.MultiDataSet) p.copy(); firstTrain.detach(); } else if (counter.get() == 1) { // epoch > 1, comparing first dataset to previously stored dataset. they should be equal int cnt = 0; for (val c: p.getFeatures()) if (!c.equalsWithEps(firstTrain.getFeatures()[cnt++], 1e-5)) throw new ND4JIllegalStateException("First examples do not match. Randomization was used?"); } return p; }
} else if (mds != null) { for (IEvaluation evaluation : evaluations) evalAtIndex(evaluation, mds.getLabels(), ((ComputationGraph) model).output(mds.getFeatures()), 0);
/** * Clone the dataset * * @return a clone of the dataset */ @Override public MultiDataSet copy() { MultiDataSet ret = new MultiDataSet(copy(getFeatures()), copy(getLabels())); if (labelsMaskArrays != null) { ret.setLabelsMaskArray(copy(labelsMaskArrays)); } if (featuresMaskArrays != null) { ret.setFeaturesMaskArrays(copy(featuresMaskArrays)); } return ret; }
new INDArray[] {input.getLabels()}, null, new INDArray[] {input.getLabelsMaskArray()}); MultiDataSet ret = featurize(inbW); return new DataSet(ret.getFeatures()[0], input.getLabels(), ret.getLabelsMaskArrays()[0], input.getLabelsMaskArray());