前提・実現したいこと
以下のWebページの内容の追実装を行っていました
「画像認識で「綾鷹を選ばせる」AIを作る」
URL:https://qiita.com/tomo_20180402/items/e8c55bdca648f4877188
すると以下のようなエラーが発生し,解決できず苦戦しています。
発生している問題・エラーメッセージ
Webページ内の「(3)綾鷹を選ばせるプログラムを作る」のコードを実行すると以下のエラー文が出力されました
Traceback (most recent call last): File "D:\user1\test\Estimation.py", line 11, in <module> model.load_weights('D:/user1/test/tea_predict.hdf5') File "C:\Users\XXX\AppData\Local\conda\conda\envs\user1\lib\site-packages\keras\engine\network.py", line 1157, in load_weights with h5py.File(filepath, mode='r') as f: File "C:\Users\XXX\AppData\Local\conda\conda\envs\user1\lib\site-packages\h5py\_hl\files.py", line 309, in __init__ name = filename_encode(name) File "C:\Users\XXX\AppData\Local\conda\conda\envs\user1\lib\site-packages\h5py\_hl\compat.py", line 114, in filename_encode return filename.encode(WINDOWS_ENCODING, "strict") UnicodeEncodeError: 'mbcs' codec can't encode characters in position 0--1: invalid character
該当のソースコード
Python
1#綾鷹を選ばせるプログラム 2 3from keras import models 4from keras.models import model_from_json 5from keras.preprocessing import image 6import numpy as np 7 8#保存したモデルの読み込み 9model = model_from_json(open('保存先のフォルダ/tea_predict.json').read()) 10#保存した重みの読み込み 11model.load_weights('保存先のフォルダ/tea_predict.hdf5') 12 13categories = ["綾鷹","お〜いお茶 抹茶入り","なごみ","お〜いお茶 新茶","綾鷹 茶葉のあまみ", 14 "お〜いお茶","伊右衛門","お〜いお茶 濃い茶","生茶","お〜いお茶 新緑"] 15 16#画像を読み込む 17img_path = str(input()) 18img = image.load_img(img_path,target_size=(250, 250, 3)) 19x = image.img_to_array(img) 20x = np.expand_dims(x, axis=0) 21 22#予測 23features = model.predict(x) 24 25#予測結果によって処理を分ける 26if features[0,0] == 1: 27 print ("選ばれたのは、綾鷹でした。") 28 29elif features[0,4] == 1: 30 print ("選ばれたのは、綾鷹(茶葉のあまみ)でした。") 31 32else: 33 for i in range(0,10): 34 if features[0,i] == 1: 35 cat = categories[i] 36 message = "綾鷹を選んでください。(もしかして:あなたが選んでいるのは「" + cat + "」ではありませんか?)" 37 print(message)
試したこと
別記事に2バイト文字が含まれているのが原因ではないかという事が書かれていたので,パス内の2バイト文字(全角文字?)をすべて英語表記しましたが,解決しませんでした。
###機器情報
OS:Windows10
IDE:Spyder4.0.1
回答1件
あなたの回答
tips
プレビュー