(第1回)MNISTについて

G検定でも勉強したMNIST。名前はしっているが、実際に動作させるとどうなるのか? 実際にやってみよう!ということで機械学習メモ1回目は「MNISTやってみた」です。

検索するとやり方はかなりでてるので、それらを参考にして、実際にやってみます。

まずはチュートリアルをやってみる

TensorFlowでチュートリアルを検索すると「入門者向けクイックスタート」がMNISTなんですよね・・・。 これができないと機械学習が始まらない的な感じ。

<使う環境>

a.IDLE (Python 3.10 64-bit) Pythonの基本ソフトでやってます。

b.ライブラリ関連 以下のバージョンを利用

tensorflow 2.8.0
numpy 1.22.2
keras 2.8.0
matplotlib 3.5.1

0.準備(1回目だけ)

MNISTのデータセットをダウンロードする必要があります。IDLEを使ってダウンロード進捗表示がおかしいので、ダウンロードが終わらないので 「Python 3.10 (64-bit)」を開いてから次のコマンドを1個づつ適用します。

from tensorflow import keras
import tensorflow as tf
mnist = tf.keras.datasets.mnist
mnist.load_data()
C:\Users\<ユーザーローカル>\.keras\datasets
上のフォルダに「mnist.npz」が保存されます。これがMNISTのデータセットです。
ダウンロードの様子

1.プログラム

以下のコードをPythonで実行する。IDLEで実行すると機械学習中の進捗表示がおかしいので、コールバックを別に準備する必要がありました。 これをやらないといくら待っても学習が終わりません。

実行すると以下の感じで実行される

これがテスト用の画像ファイルです。 ちゃんと戻り値が7となっています。

これが手書きの画像ファイルです。 ちゃんと戻り値が4となっています。 ペイントブラシで手書きを作成する場合は、下地が黒、数字が白で作成します。(56x56ピクセルで作成)

Pythonの環境構築など準備する方が大変で、実際にプログラムが動けば、簡単でした。

-------------