We can now try to use the same network on the cifar10
dataset. In Chapter 3, Deep Learning Fundamentals, we were getting a low 50% accuracy on test data, and to test the new network we have just used for the mnist
dataset, we need to just make a couple of small changes to our code: we need to load the cifar10
dataset (without doing any re-shaping, those lines will be deleted):
(X_train, Y_train), (X_test, Y_test) = cifar10.load_data()
And then change the input values for the first convolutional layer:
model.add(Convolution2D(32, (3, 3), input_shape=(32, 32, 3)))
Running this network for 5 epochs will give us around 60% accuracy (up from about 50%) and 66% accuracy after 10 epochs, but then the network starts to overfit and stops improving performance.
Of course the cifar10
images have 32 x 32 x 3 = 3072 pixels, instead of 28 x 28=784 pixels, so we may need to add a couple more convolutional layers, after the first two:
model.add(Convolution2D...