How to do it...

  1. Load and initialize the training data using ImageRecordReader:
ImageRecordReader imageRecordReader = new ImageRecordReader(imageHeight,imageWidth,channels,parentPathLabelGenerator);
imageRecordReader.initialize(trainData,null);
  1. Create a dataset iterator using RecordReaderDataSetIterator:
DataSetIterator dataSetIterator = new RecordReaderDataSetIterator(imageRecordReader,batchSize,1,numLabels);
  1. Add the normalizer to the dataset iterator:
DataNormalization scaler = new ImagePreProcessingScaler(0,1);
scaler.fit(dataSetIterator);
dataSetIterator.setPreProcessor(scaler);
  1. Train the model by calling fit():
MultiLayerConfiguration config = builder.build();
MultiLayerNetwork model = new MultiLayerNetwork(config);
model.init();
model.setListeners(new ScoreIterationListener(100));
model.fit(dataSetIterator,epochs);
  1. Train the model again with image transformations:
imageRecordReader.initialize(trainData,transform);
dataSetIterator = new RecordReaderDataSetIterator(imageRecordReader,batchSize,1,numLabels);
scaler.fit(dataSetIterator);
dataSetIterator.setPreProcessor(scaler);
model.fit(dataSetIterator,epochs);
  1. Evaluate the model and observe the results:
Evaluation evaluation = model.evaluate(dataSetIterator);
System.out.println(evaluation.stats());

The evaluation metrics will appear as follows:

  1. Add support for the GPU-accelerated environment by adding the following dependencies:
<dependency>
<groupId>org.nd4j</groupId>
<artifactId>nd4j-cuda-9.1-platform</artifactId>
<version>1.0.0-beta3</version>
</dependency>

<dependency>
<groupId>org.deeplearning4j</groupId>
<artifactId>deeplearning4j-cuda-9.1</artifactId>
<version>1.0.0-beta3</version>
</dependency>
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset