.h5で保存されているモデルを読み込みpredict_on_batchで推測後、結果にラベルをつけて表示したいのだけど、ラベルの取得方法が分からない。
モデルを作成する際に、flow_from_directoryで学習データを読み込んでいるので、読み込み時にはclass_indicesでラベルを取得できる。モデルの情報の中に、class_indicesの情報も保存されていて良さそうに思うのだけど、どうしても探し出すことが出来ず。
結局、外部ファイルにclass_indicesを保存し、モデル読み込み時に一緒に読み込むという方法にしました。
import pickle
labels = train_data_gen.class_indices
labels = {v: k for k, v in labels.items()}
f = open('labels.txt', 'wb')
pickle.dump(labels, f)
import pickle
f = open('./labels.txt', "rb")
labels = pickle.load(f)
y_test = model.predict_on_batch(x_test)
for i, arr in enumerate(y_test):
for j, v in enumerate(arr):
print(i, labels[j], v)
モデル作成時にclass_indicesのキーと値を反転したものをテキストファイルに保存し、モデル読み込み時にテキストファイルから読み込みました。