@Override public int totalOutcomes() { return data.numOutcomes(); }
@Override public int totalOutcomes() { return sampleFrom.numOutcomes(); }
@Override public List<DataSet> batchByNumLabels() { return batchBy(numOutcomes()); }
/** * Sets the outcome of a particular example * * @param example the example to transform * @param label the label of the outcome */ @Override public void setOutcome(int example, int label) { if (example > numExamples()) throw new IllegalArgumentException("No example at " + example); if (label > numOutcomes() || label < 0) throw new IllegalArgumentException("Illegal label"); INDArray outcome = FeatureUtil.toOutcomeVector(label, numOutcomes()); getLabels().putRow(example, outcome); }
Map<Integer, Queue<DataSet>> map = new HashMap<>(); List<DataSet> data = asList(); int numLabels = numOutcomes(); int examples = numExamples(); for (DataSet d : data) {
paths = new ArrayList<>(); totalExamples = baseData.numExamples(); totalLabels = baseData.numOutcomes(); int offset = 0; totalBatches = baseData.numExamples() / batchSize;
/** * Sample a dataset * * @param numSamples the number of samples to getFromOrigin * @param rng the rng to use * @param withReplacement whether to allow duplicates (only tracked by example row number) * @return the sample dataset */ @Override public DataSet sample(int numSamples, org.nd4j.linalg.api.rng.Random rng, boolean withReplacement) { INDArray examples = Nd4j.create(numSamples, getFeatures().columns()); INDArray outcomes = Nd4j.create(numSamples, numOutcomes()); Set<Integer> added = new HashSet<>(); for (int i = 0; i < numSamples; i++) { int picked = rng.nextInt(numExamples()); if (!withReplacement) while (added.contains(picked)) picked = rng.nextInt(numExamples()); examples.putRow(i, get(picked).getFeatures()); outcomes.putRow(i, get(picked).getLabels()); } return new DataSet(examples, outcomes); }
oinfo += "ds: "; oinfo += ".numInputs: " + ds.numInputs() + "; "; oinfo += ".numOutcomes: " + ds.numOutcomes() + "; "; oinfo += ".numExamples: " + ds.numExamples() + "; "; oinfo += ".hasMaskArrays: " + BTools.getSBln( ds.hasMaskArrays() ) + "; ";
@Override public int totalOutcomes() { return data.numOutcomes(); }
@Override public int totalOutcomes() { return sampleFrom.numOutcomes(); }
@Override public int totalOutcomes() { return sampleFrom.numOutcomes(); }
@Override public int totalOutcomes() { return sampleFrom.numOutcomes(); }
@Override public int totalOutcomes() { if (last == null) { DataSet next = next(); last = next; useCurrent = true; return next.numOutcomes(); } else return last.numOutcomes(); }
@Override public int totalOutcomes() { if (last == null) { DataSet next = next(); last = next; useCurrent = true; return next.numOutcomes(); } else return last.numOutcomes(); }
@Override public List<DataSet> batchByNumLabels() { return batchBy(numOutcomes()); }
/** * Sets the outcome of a particular example * * @param example the example to transform * @param label the label of the outcome */ @Override public void setOutcome(int example, int label) { if (example > numExamples()) throw new IllegalArgumentException("No example at " + example); if (label > numOutcomes() || label < 0) throw new IllegalArgumentException("Illegal label"); INDArray outcome = FeatureUtil.toOutcomeVector(label, numOutcomes()); getLabels().putRow(example, outcome); }
paths = new ArrayList<>(); totalExamples = baseData.numExamples(); totalLabels = baseData.numOutcomes(); int offset = 0; totalBatches = baseData.numExamples() / batchSize;
INDArray train_outcomes = Nd4j.create(splitSize, input.numOutcomes()); INDArray test_features = Nd4j.create(testSize, input.getFeatures().columns()); INDArray test_outcomes = Nd4j.create(testSize, input.numOutcomes());
/** * Sample a dataset * * @param numSamples the number of samples to getFromOrigin * @param rng the rng to use * @param withReplacement whether to allow duplicates (only tracked by example row number) * @return the sample dataset */ @Override public DataSet sample(int numSamples, org.nd4j.linalg.api.rng.Random rng, boolean withReplacement) { INDArray examples = Nd4j.create(numSamples, getFeatures().columns()); INDArray outcomes = Nd4j.create(numSamples, numOutcomes()); Set<Integer> added = new HashSet<>(); for (int i = 0; i < numSamples; i++) { int picked = rng.nextInt(numExamples()); if (!withReplacement) while (added.contains(picked)) picked = rng.nextInt(numExamples()); examples.putRow(i, get(picked).getFeatures()); outcomes.putRow(i, get(picked).getLabels()); } return new DataSet(examples, outcomes); }
INDArray outcomes = Nd4j.create(numSamples, next.numOutcomes(),'f'); for (int delegateIndex : selectedIndices) { DataSet dataSet = next.get(delegateIndex);