画像認識プログラミングレシピという本で学習中です。
以下のコードを参考にkerasで学習済みモデルを作りました。
https://github.com/Kokensha/book-ml/blob/master/Colaboratory/05_01(TensorFlow_Keras_MNIST).ipynb
※saveするまでにエラーが出る部分があったので
def plot_loss_accuracy_graphの[acc]の部分を[accuracy]にしたり
教師ラベルデータの変換のkeras.utils.to_categoricalをnp_utils.to_categoricalに変更しました。
聞きたいこと
model.saveした学習済みモデルで手書き数字が本当に予測できるか試そうと思いやってみました。
python
1import numpy as np 2import tensorflow as tf 3from tensorflow import keras 4from tensorflow.python.keras.models import load_model 5from PIL import Image 6import matplotlib.pyplot as plt 7import cv2 8 9model = load_model("/content/drive/MyDrive/keras-mnist-model2.h5") 10 11image = cv2.imread("/content/3の画像.png", 0) 12print(image.shape) 13image = cv2.resize(image, dsize=(28, 28)) 14 15image = image.reshape(1, 28, 28, 1) 16 17image = image.astype("float32") 18 19image = image / 255 20 21prediction = model.predict(image) 22 23zero_to_nine = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9",] 24 25number = np.argmax(prediction) 26print("予測結果:", zero_to_nine[number])
そこで1つほど質問があります。
mnistでloadした検証用手書き数字ではしっかり予測できているのですが、ネットで拾ってきた手書き数字だと全く予測が外れます。何が原因なのでしょうか?
今回kerasも初めて触ったので何がおかしくてどう改善すればいいのか手探り状態です。予測するためのコードも見様見真似で書いたので汚いと思いますが、ここ直したらいいよっていうのがあれば教えてください。
予測が外れた画像
そのほかにも試しましたが、同じように外れました。
質問する上で不足していることがあれば修正いたしますので、よろしくお願いします。
ちなみに学習正解率は97%です。
googlecolabの環境
keras2.5.0
tensorflow2.5.0
numpy1.19.5
macOSXを利用
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/02 09:09
2021/08/02 09:31