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_labels)
Out[4]:
In [5]:
train_labels
Out[5]:
In [6]:
test_images.shape
Out[6]:
In [7]:
len(test_labels)
Out[7]:
In [8]:
from keras import models
from keras import layers
In [9]:
net = models.Sequential()
net.add(layers.Dense(512, activation="relu", input_shape=(28 * 28,)))
net.add(layers.Dense(10, activation="softmax"))
In [10]:
net.compile(optimizer="rmsprop", loss="categorical_crossentropy", metrics=["accuracy"])
In [11]:
train_images = train_images.reshape((60000, 28 * 28))
train_images = train_images.astype("float32") / 255
test_images = test_images.reshape((10000, 28 * 28))
test_images = test_images.astype("float32") / 255
In [12]:
from keras.utils import to_categorical
train_labels = to_categorical(train_labels)
test_labels = to_categorical(test_labels)
In [13]:
train_labels
Out[13]:
In [14]:
net.fit(train_images, train_labels, epochs=5, batch_size=128)
Out[14]:
In [15]:
test_loss, test_acc = net.evaluate(test_images, test_labels)
In [16]:
print("test_acc", test_acc)
In [ ]: