In [1]:
from keras.datasets import mnist
In [2]:
(train_images, train_labels), (test_images, test_labels) = mnist.load_data()
In [3]:
train_images.shape
Out[3]:
In [4]:
len(train_images)
Out[4]:
In [7]:
train_labels
Out[7]:
In [9]:
test_images.shape
Out[9]:
In [10]:
len(test_images)
Out[10]:
In [11]:
test_labels
Out[11]:
In [12]:
from keras import models
from keras import layers
In [13]:
network = models.Sequential()
network.add(layers.Dense(512, activation = "relu", input_shape=(28 * 28,)))
network.add(layers.Dense(10, activation = "softmax"))
In [14]:
network.summary()
In [15]:
network.compile(optimizer = "rmsprop", loss = "categorical_crossentropy", metrics = ["accuracy"])
In [16]:
train_images = train_images.reshape(60000, 28 * 28)
test_images = test_images.reshape(10000, 28 * 28)
train_images = train_images.astype("float32") / 255
test_images = test_images.astype("float32") / 255
In [17]:
from keras.utils import to_categorical
train_labels = to_categorical(train_labels)
test_labels = to_categorical(test_labels)
In [18]:
network.fit(train_images, train_labels, epochs = 5, batch_size = 128)
Out[18]:
In [19]:
test_loss, test_acc = network.evaluate(test_images, test_labels)
print("test accuracy", test_acc)
In [ ]: