MNIST手書き数字読み取り

ローカルではメモリー不足などで実行できないが、GoogleのColaboratoryでは実行出来る。tensorflowでMNISTの数字を表示して、ニューラルネットワークでトレーニングして、テストデータの予測を行う。

import tensorflow
from tensorflow import keras
%matplotlib inline
import matplotlib.pyplot as plt

batch_size = 128
num_class = 10
epochs = 20

(x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data()

for i in range(10):
    plt.subplot(2, 5, i+1)
    plt.title("Label: " + str(i))
    plt.imshow(x_train[i].reshape(28,28), cmap=None)

x_train, x_test = x_train / 255.0, x_test / 255.0

model = keras.models.Sequential([
    keras.layers.Flatten(),
    keras.layers.Dense(512, activation='relu'),
    keras.layers.Dropout(0.2),
    keras.layers.Dense(10, activation='softmax')
])

model.compile(optimizer='adam',loss='sparse_categorical_crossentropy', metrics=['accuracy’])
model.fit(x_train, y_train, epochs=20)
model.evaluate(x_test, y_test)

for i in range(10):
    plt.subplot(2, 5, i+1)
    plt.title("Label: " + str(i))
    plt.imshow(x_train[i].reshape(28,28), cmap=None)

model.predict(x_test[0:10])

コメントを残す