IT Learning

実践形式でITのお勉強

Python ディープラーニング

KerasからMNISTを取得して白黒表示するまで

投稿日:2021年2月23日 更新日:

概要

ディープラーニングの学習用データとしてよく利用される手書き数字画像のラベル付きデータセットとして、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")

Related

-Python, ディープラーニング

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です