Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import keras
- from keras.datasets import mnist
- from keras.models import Sequential
- from keras.layers import Dense, Flatten, Conv2D, MaxPooling2D
- from keras.utils import np_utils
- import matplotlib.pyplot as plt
- (X_train, y_train), (X_test, y_test) = mnist.load_data()
- print(keras.backend.image_data_format())
- X_train = X_train.reshape((X_train.shape[0], 28, 28, 1)).astype('float32')
- X_test = X_test.reshape((X_test.shape[0], 28, 28, 1)).astype('float32')
- X_train = X_train / 255
- X_test = X_test / 255
- y_train = np_utils.to_categorical(y_train)
- y_test = np_utils.to_categorical(y_test)
- num_classes = y_test.shape[1]
- net = Sequential()
- net.add(Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)))
- net.add(Conv2D(64, (3, 3), activation='relu'))
- net.add(MaxPooling2D(pool_size=(2, 2)))
- net.add(Flatten())
- net.add(Dense(128, activation='sigmoid'))
- net.add(Dense(10, activation='softmax'))
- net.compile(loss='categorical_crossentropy',
- optimizer=keras.optimizers.adadelta(), metrics=['accuracy'])
- history = net.fit(X_train, y_train, validation_data=(
- X_test, y_test), epochs=2, verbose=2, batch_size=100)
- num_images = 20
- images_and_predictions = list(
- zip(X_test[:num_images], net.predict_classes(X_test[:num_images])))
- for index, (image, prediction) in enumerate(images_and_predictions):
- plt.subplot(1, 20, index + 1)
- plt.axis('off')
- plt.imshow(image.reshape(28, 28), cmap=plt.get_cmap(
- 'gray'), interpolation='nearest')
- plt.title(prediction)
- plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement