KerasからMNISTを取得して白黒表示するまで
概要
ディープラーニングの学習用データとしてよく利用される手書き数字画像のラベル付きデータセットとして、MNISTがあります。今回はこのMNISTをKerasから取得して白黒画像をJupyterを使って表示するところまでを試します。
環境
- Windows10
- python3.8(venv)
- TensorFlow2.4.1
- Keras2.4.3
今回使用する環境は以下の記事で構築したKerasの環境になります。
kerasは初心者でもとっつきやすいので独学でも習得しやすいです。
Step1 : MNISTの取得
JupyterNotebookで以下を実行します。
from keras.datasets import mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
すると、以下のようにMNISTダウンロードが始まります。
このダウンロードは初めてmnistをロードしたときのみ実施されます。初回ロード時にユーザプロファイル配下に.kerasフォルダ内が生成され、2回目以降はその配下のdatsets/mnist.npzからのロードになります。
Step2 : MNISTを画像で表示
上記でダウンロードしたデータにおいて、x_trainは28×28の行列(画像データ)が6000個入っており、y_trainはそれに対するラベルのデータです。
x_trainの1枚目の画像データを表示してみます。
import matplotlib.pyplot as plt
plt.imshow(x_train[0])
手書きの”5″の画像を表示することができました。
Step3 : グレースケールで表示する
上記で示した表示のままでもいいのですが、グレースケールで表示したい場合は以下のようにgrayメソッドを予備ガスことで白黒表示をさせることができます。
plt.gray()
plt.imshow(x_train[0])
以上
コード全文
from keras.datasets import mnist
import matplotlib.pyplot as plt
#MNISTロード
(x_train, y_train), (x_test, y_test) = mnist.load_data()
#カラー(viridis)表示
plt.subplot(121)
plt.imshow(x_train[0])
plt.viridis()
plt.title("viridis")
#白黒表示
plt.subplot(122)
plt.imshow(x_train[0])
plt.gray()
plt.title("gray")