--- 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}}