(第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の環境構築など準備する方が大変で、実際にプログラムが動けば、簡単でした。
-------------