Refine search
private void moveBackward(int index) { int numMoved = size - index - 1; INDArrayIndex[] first = new INDArrayIndex[] {NDArrayIndex.point(0), NDArrayIndex.interval(index ,index + numMoved)}; INDArrayIndex[] getRange = new INDArrayIndex[] {NDArrayIndex.point(0), NDArrayIndex.interval(index + 1 ,index + 1 + numMoved)}; INDArray get = container.get(getRange); container.put(first,get); }
INDArrayIndex[] indices = new INDArrayIndex[]{NDArrayIndex.point(i), NDArrayIndex.point(0), null, null}; if(this.sentencesAlongHeight) { indices[2] = NDArrayIndex.point(sentenceLength); indices[3] = NDArrayIndex.all(); } else { indices[2] = NDArrayIndex.all(); indices[3] = NDArrayIndex.point(sentenceLength); featuresMask.getRow(i).assign(Double.valueOf(1.0D)); } else { featuresMask.get(new INDArrayIndex[]{NDArrayIndex.point(i), NDArrayIndex.interval(0, sentenceLength)}).assign(Double.valueOf(1.0D));
print("Assigned value to array (1x3 => 10)", fourByFiveRandomZeroToOne); INDArray threeValuesArray = fourByFiveRandomZeroToOne.get(NDArrayIndex.interval(0, 3)); print("Get interval from array ([0:3])", threeValuesArray); INDArray threeValuesArrayColumnFour = fourByFiveRandomZeroToOne.get(NDArrayIndex.interval(0, 3), NDArrayIndex.point(4)); print("Get interval from array ([0:3,4])", threeValuesArrayColumnFour); INDArray threeValuesArrayAgain = fourByFiveRandomZeroToOne.get(NDArrayIndex.interval(0, 2)); print("Get interval from array ([:2])", threeValuesArrayAgain); INDArray allRowsIndexOne = fourByFiveRandomZeroToOne.get(NDArrayIndex.all(), NDArrayIndex.point(1)); print("Get interval from array ([:,1])", allRowsIndexOne);
@Override public double[] categorize(String[] text, Map<String, Object> extraInformation) { INDArray seqFeatures = this.model.getGloves().embed(text, this.model.getMaxSeqLen()); INDArray networkOutput = this.model.getNetwork().output(seqFeatures); long timeSeriesLength = networkOutput.size(2); INDArray probsAtLastWord = networkOutput.get(NDArrayIndex.point(0), NDArrayIndex.all(), NDArrayIndex.point(timeSeriesLength - 1)); int nLabels = this.model.getLabels().size(); double[] probs = new double[nLabels]; for (int i = 0; i < nLabels; i++) { probs[i] = probsAtLastWord.getDouble(i); } return probs; }
int thisTimeSeriesLastIndex = lastTimeStepIndices.getInt(i); INDArray thisExampleProbabilities = predBatch.get( NDArrayIndex.point(i), NDArrayIndex.all(), NDArrayIndex.point(thisTimeSeriesLastIndex)); for (int j = 0; j < insts.numClasses(); j++) { preds[i + offset][j] = thisExampleProbabilities.getDouble(j);
/** * Create the feature mask. * * @param data Tokenized sentences with labels * @param maxTokenSize Maximum token size * @return Feature mask */ protected INDArray createFeatureMask(List<Datum> data, int maxTokenSize) { INDArray featuresMask = Nd4j.create(data.size(), 1, maxTokenSize, 1); INDArrayIndex[] indices = new INDArrayIndex[4]; indices[1] = all(); indices[3] = all(); for (int i = 0; i < data.size(); i++) { indices[0] = point(i); int sentenceLength = data.get(i).numTokens(); sentenceLength = Math.min(sentenceLength, maxTokenSize); indices[2] = interval(0, sentenceLength); featuresMask.put(indices, 1.0); } return featuresMask; }
@Override public Span[] find(String[] tokens) { List<INDArray> featureMartrices = mapToFeatureMatrices(wordVectors, tokens, windowSize); String[] outcomes = new String[tokens.length]; for (int i = 0; i < tokens.length; i++) { INDArray predictionMatrix = network.output(featureMartrices.get(i), false); INDArray outcomeVector = predictionMatrix.get(NDArrayIndex.point(0), NDArrayIndex.all(), NDArrayIndex.point(windowSize - 1)); outcomes[i] = labels[max(outcomeVector)]; } // Delete invalid spans ... for (int i = 0; i < outcomes.length; i++) { if (outcomes[i].endsWith("cont") && (i == 0 || "other".equals(outcomes[i - 1]))) { outcomes[i] = "other"; } } return new BioCodec().decode(Arrays.asList(outcomes)); }
/** * Creates 2d (shape [minibatch, numLabels]) or 4d labels ([minibatch, numLabels, gridWidth, gridHeight]), * depending on value of gridWidth and gridHeight. * * @param featuresShape Shape of the features data to randomly generate * @param numLabels Number of label classes (for classification) * @param totalIterations Total number of iterations * @param gridWidth If > 0, use to create 4d labels * @param gridHeight If > 0, use to create 4d labels */ public BenchmarkDataSetIterator(int[] featuresShape, int numLabels, int totalIterations, int gridWidth, int gridHeight) { this.baseFeatures = Nd4j.rand(featuresShape); this.baseLabels = gridWidth > 0 && gridHeight > 0 ? Nd4j.create(featuresShape[0], numLabels, gridWidth, gridHeight) : Nd4j.create(featuresShape[0], numLabels); if(this.baseLabels.rank() == 2){ this.baseLabels.getColumn(1).assign(1.0); } else { this.baseLabels.get(NDArrayIndex.all(), NDArrayIndex.point(1), NDArrayIndex.all(), NDArrayIndex.all()); } Nd4j.getExecutioner().commit(); this.limit = totalIterations; }
private void moveBackward(int index) { int numMoved = size - index - 1; INDArrayIndex[] first = new INDArrayIndex[] {NDArrayIndex.point(0), NDArrayIndex.interval(index ,index + numMoved)}; INDArrayIndex[] getRange = new INDArrayIndex[] {NDArrayIndex.point(0), NDArrayIndex.interval(index + 1 ,index + 1 + numMoved)}; container.put(first,container.get(getRange)); }
INDArray first3Columns = originalArray.get(NDArrayIndex.all(), NDArrayIndex.interval(0,3)); System.out.println("first 3 columns:\n" + first3Columns); originalArray.put(new INDArrayIndex[]{NDArrayIndex.all(), NDArrayIndex.point(2)}, zerosColumn); //All rows, column index 2 System.out.println("\n\n\nOriginal array, after put operation:\n" + originalArray);
@Override public Span[] find(String[] tokens) { List<INDArray> featureMatrices = DeepLearningUtils.mapToFeatureMatrices(wordVectors, tokens, windowSize); String[] outcomes = new String[tokens.length]; for (int i = 0; i < tokens.length; i++) { INDArray predictionMatrix = network.output(featureMatrices.get(i), false); INDArray outcomeVector = predictionMatrix.get(NDArrayIndex.point(0), NDArrayIndex.all(), NDArrayIndex.point(windowSize - 1)); outcomes[i] = labels[max(outcomeVector)]; } // Delete invalid spans ... for (int i = 0; i < outcomes.length; i++) { if (outcomes[i].endsWith("cont") && (i == 0 || "other".equals(outcomes[i - 1]))) { outcomes[i] = "other"; } } return new BioCodec().decode(Arrays.asList(outcomes)); }
private void moveForward(int index) { int numMoved = size - index - 1; INDArrayIndex[] getRange = new INDArrayIndex[] {NDArrayIndex.point(0), NDArrayIndex.interval(index,index + numMoved)}; INDArray get = container.get(getRange); INDArrayIndex[] first = new INDArrayIndex[] {NDArrayIndex.point(0), NDArrayIndex.interval(index + 1,index + 1 + get.length())}; container.put(first,get); }
if (exampleCount > 0) { newProbAndLabel.get(NDArrayIndex.interval(0, exampleCount), NDArrayIndex.all()).assign( probAndLabel.get(NDArrayIndex.interval(0, exampleCount), NDArrayIndex.all())); probAndLabel.get(NDArrayIndex.interval(exampleCount, exampleCount + currMinibatchSize), NDArrayIndex.point(0)).assign(probClass1); probAndLabel.get(NDArrayIndex.interval(exampleCount, exampleCount + currMinibatchSize), NDArrayIndex.point(1)).assign(labelClass1);
public DataSet next(int num) { if (cursor >= totalExamples()) throw new NoSuchElementException(); INDArray features = Nd4j.create(num, vectorSize, windowSize); INDArray featuresMask = Nd4j.zeros(num, windowSize); INDArray labels = Nd4j.create(num, 3, windowSize); INDArray labelsMask = Nd4j.zeros(num, windowSize); // iterate stream and copy to arrays for (int i = 0; i < num; i++) { DataSet sample; try { sample = samples.read(); } catch (IOException e) { throw new RuntimeException(e); } if (sample != null) { INDArray feature = sample.getFeatures(); features.put(new INDArrayIndex[] {NDArrayIndex.point(i)}, feature.get(NDArrayIndex.point(0))); feature.get(new INDArrayIndex[] {NDArrayIndex.point(0), NDArrayIndex.all(), NDArrayIndex.point(0)}); for (int j = 0; j < windowSize; j++) { featuresMask.putScalar(new int[] {i, j}, 1.0); } INDArray label = sample.getLabels(); labels.put(new INDArrayIndex[] {NDArrayIndex.point(i)}, label.get(NDArrayIndex.point(0))); labelsMask.putScalar(new int[] {i, windowSize - 1}, 1.0); } cursor++; } return new DataSet(features, labels, featuresMask, labelsMask); }