Training and classifying
We are now going to build a neural network that will take an image as input and try to predict which (single) letter is in the image.
We will use the training set of single letters we created earlier. The dataset itself is quite simple. We have a 20 by 20 pixel image, each pixel 1 (black) or 0 (white). These represent the 400 features that we will use as inputs into the neural network. The outputs will be 26 values between 0 and 1, where higher values indicate a higher likelihood that the associated letter (the first neuron is A, the second is B, and so on) is the letter represented by the input image.
We are going to use the PyBrain library for our neural network.
Note
As with all the libraries we have seen so far, PyBrain can be installed from pip
: pip install pybrain
.
The PyBrain
library uses its own dataset format, but luckily it isn't too difficult to create training and testing datasets using this format. The code is as follows:
from pybrain.datasets import SupervisedDataSet...