こしあん
2018-07-11

Google Colaboratoryで保存したKerasのモデルを読み込むとValueError

Pocket
LINEで送る


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にファイル名を入れます。これでどのマシンで実行したか忘れてしまった場合でも対応できます。

Pocket
Delicious にシェア

Add a Comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です