pythonで手書き数字認識AIを作る(Part.1)
ヲタクエンジニアのBayashiです。
今回は、pythonで手書き数字認識を行うAIを作っていきたいと思います。
実行環境はgoogle colabを使います。
colabはgoogleのアカウントがあればブラウザ上でpythonを実行することができます。
使用するライブラリ
- Tensorflow (Keras)
- numpy
- matplotlib
使用する環境
- google colab
必要なライブラリをインポート
まずは必要なライブラリをインポートします。
import tensorflow as tf from tensorflow import keras from tensorflow.keras.datasets import mnist from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, Flatten from tensorflow.keras.utils import to_categorical import numpy as np import matplotlib.pyplot as plt
手書き数字文字の画像データを読み込む
今回は手書き数字の画像データとしてmnistを使用します。 以下のコードでmnistの画像をnumpy行列として読み込むことができます。
(X_train, y_train) ,(X_test, y_test) = mnist.load_data()
X_trainとX_testに手書き数字の画像データが入っています。 y_trainとy_testに画像に対応する正解ラベルが入っています。
読み込んだデータの形状を確認
読み込んだデータの行列がどのような形状をしているのかを確認してみます。
print(X_train, y_train) print(X_test, y_test)
(60000, 28, 28) (60000,))
(10000, 28, 28) (10000,)
のように表示されるかと思います。
X_trainは60000枚の画像が入っていて、縦横のサイズは28x28になっています。
X_testは10000枚の画像が入っていて、縦横サイズはX_trainと同様です。
y_trainはX_trainに対応する60000個の正解ラベルが入っています。
y_testはX_testに対応する10000個の正解ラベルが入っています。
画像データの可視化
読み込んだmnistの画像データを表示してみましょう。 以下のコードで上位5つの画像とラベルを表示できます。
for i in range(5): print('正解ラベル:', y_train[i]) plt.imshow(X_train[i], cmap='gray') plt.show()
こんな感じに画像と正解ラベルが表示されれば成功。
今回はここまで。次回に続きます。