Skip to the content.

TensorFlow sample: Deep neural network for MNIST (TensorFlow v1 compatible を利用)

MNISTサンプル画像データを使った文字認識のDNNプログラムを作成する演習.

ディープ・ニューラルネットワーク(DNN)の作成

import tensorflow as tf

# construct a neural-network
tf.compat.v1.reset_default_graph()

# input layer
net = tflearn.input_data(shape=[None,784])

# hidden layer 
net = tflearn.fully_connected(net, 128, activation='relu')
net = tflearn.dropout(net, 0.5) # 50 % を残す

# output layer
net = tflearn.fully_connected(net, 10, activation='softmax') # return 0--1 probability
#net = tflearn.regression(net, optimizer='sgd', learning_rate=0.5, loss='categorical_crossentropy')
net = tflearn.regression(net, optimizer='adam', loss='categorical_crossentropy')

学習モデルの作成

# training 
model = tflearn.DNN(net)
model.fit(trainX,trainY, n_epoch = 20, batch_size=100, validation_set=0.1, show_metric=True)

予測モデルの結果を確認(testXが画像データ, predが予測結果)

# prediction 
pred = np.array(model.predict(testX)).argmax(axis=1)
print(pred)

(参考) 「初めてのTensorFlow」 足立悠 著 (リックテレコム)