Google Colaboratoryで保存したKerasのモデルを読み込むとValueError
Posted On 2018-07-11
Google Colaboratory(Colab)上のKerasでh5形式で保存したモデルをダウンロードして、load_modelすると「TypeError: (‘Keyword argument not understood:’, ‘data_format’)」とエラーが発生して読み込めないことがあります。その解決法を示します。
参考:https://github.com/keras-team/keras/issues/10075
原因はKerasのバージョンの違い
参考URLのissueと全く同じエラーが自分も発生しました。原因はGoogle Colab環境のKerasと、ローカル環境のKerasのバージョンが違うためです。
インストールされているKerasのバージョンは次のように確認できます。
import keras
print(keras.__version__)
# 2.1.6
これをGoogle Colabとローカルの環境両方で実行します。自分の場合は、Google Colabが2.1.6で、ローカルが2.1.5であったためエラーが発生しました。ローカルのKerasを2.2.0にアップデートしたらTypeErrorは発生しなくなりました。
モデルのh5ファイルから保存された環境のKerasのバージョンを確認するには次のようにします。
import h5py
with h5py.File("model.h5", "r") as fp:
print(fp.attrs.get("keras_version"))
# b'2.1.6'
model.h5にファイル名を入れます。これでどのマシンで実行したか忘れてしまった場合でも対応できます。
Shikoan's ML Blogの中の人が運営しているサークル「じゅ~しぃ~すくりぷと」の本のご案内
技術書コーナー
北海道の駅巡りコーナー