44 lines
1.5 KiB
Markdown
44 lines
1.5 KiB
Markdown
---
|
|
title: Deeplearning4j Iterators
|
|
short_title: Iterators
|
|
description: Data iteration tools for loading into neural networks.
|
|
category: Models
|
|
weight: 5
|
|
---
|
|
|
|
## What is an iterator?
|
|
|
|
A dataset iterator allows for easy loading of data into neural networks and help organize batching, conversion, and masking. The iterators included in Eclipse Deeplearning4j help with either user-provided data, or automatic loading of common benchmarking datasets such as MNIST and IRIS.
|
|
|
|
## Usage
|
|
|
|
For most use cases, initializing an iterator and passing a reference to a `MultiLayerNetwork` or `ComputationGraph` `fit()` method is all you need to begin a task for training:
|
|
|
|
```java
|
|
MultiLayerNetwork model = new MultiLayerNetwork(conf);
|
|
model.init();
|
|
|
|
// pass an MNIST data iterator that automatically fetches data
|
|
DataSetIterator mnistTrain = new MnistDataSetIterator(batchSize, true, rngSeed);
|
|
net.fit(mnistTrain);
|
|
```
|
|
|
|
Many other methods also accept iterators for tasks such as evaluation:
|
|
|
|
```java
|
|
// passing directly to the neural network
|
|
DataSetIterator mnistTest = new MnistDataSetIterator(batchSize, false, rngSeed);
|
|
net.eval(mnistTest);
|
|
|
|
// using an evaluation class
|
|
Evaluation eval = new Evaluation(10); //create an evaluation object with 10 possible classes
|
|
while(mnistTest.hasNext()){
|
|
DataSet next = mnistTest.next();
|
|
INDArray output = model.output(next.getFeatureMatrix()); //get the networks prediction
|
|
eval.eval(next.getLabels(), output); //check the prediction against the true class
|
|
}
|
|
```
|
|
|
|
## Available iterators
|
|
|
|
{{autogenerated}} |