Running a CNN for learning MNIST with DeepLearning4j over Spark
In this recipe, we'll see how to run a CNN for classifying the iris dataset.
Getting ready
To step through this recipe, you will need a running Spark cluster either in pseudo distributed mode or in one of the distributed modes, that is, standalone, YARN, or Mesos. Also, get familiar with ND4S, that is, n-dimensional arrays for Scala (Scala bindings for ND4J). ND4J and ND4S are scientific computing libraries for the JVM. Please visit http://nd4j.org/ for details. The prerequisites to be installed are Java 7, IntelliJ, and the Maven or SBT build tool.
How to do it…
The MNIST database is a large set of handwritten digits used to train neural networks and other algorithms in image recognition. This dataset has 60,000 images in its training set and 10,000 in its test set. Each image is a 28X28 pixel.
Here is the code for a convolutional neural network which uses the MNIST dataset for digit recognition:
object CNN_MNIST { ...