Skip to content

Instantly share code, notes, and snippets.

@AbdelmajidB
Created June 25, 2019 08:12
Show Gist options
  • Save AbdelmajidB/d596a62dd6b4b3e743660f1ca8920613 to your computer and use it in GitHub Desktop.
Save AbdelmajidB/d596a62dd6b4b3e743660f1ca8920613 to your computer and use it in GitHub Desktop.
ImageRecordReader recordReader = new ImageRecordReader(height, width, channels, labelMaker);
recordReader.initialize(train);
Field f = BaseImageRecordReader.class.getDeclaredField("imageLoader");
f.setAccessible(true);
f.set(recordReader, new NativeImageLoader(height, width, 1, BaseImageLoader.MultiPageMode.MINIBATCH));
int labelIndex = 1; //You have 2 Writables ("columns") - index 0 is features image NDArrayWritable, index 1 is labels image NDArrayWritable
// DataSet Iterator
DataSetIterator dataIter = new RecordReaderDataSetIterator(recordReader, batchSize, labelIndex, labelIndex, true);
ImagePreProcessingScaler normalizer = new ImagePreProcessingScaler(0, 1);
dataIter.setPreProcessor(new CompositeDataSetPreProcessor(
normalizer,
new DataSetPreProcessor() {
@Override
public void preProcess(org.nd4j.linalg.dataset.api.DataSet toPreProcess) {
INDArray fOrig = toPreProcess.getFeatures();
log.info(Arrays.toString(fOrig.shape()));
toPreProcess.setFeatures(fOrig.reshape(fOrig.size(0), 1, fOrig.size(1), fOrig.size(2), fOrig.size(3)));
//log.info(toPreProcess.getFeatures().shapeInfoToString());
}}));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment