環境
Google Colab環境
Python3.6.9
TensorFlow2.3.0
ローカル環境
Python3.6.7
TensorFlow2.1.0
何が起こったか?
Google Colabで作成したモデルをダウンロードし、
ローカル環境で実行しようとしたところ、TesorFlowのインポートしたタイミングで怒られました。
ImportError: DLL load failed: 指定されたモジュールが見つかりません
TensorFlow2.1からはMicrosoft Visual C++ Redistributableが必要
調べてみたところ、TensorFlow2.1からはMicrosoft Visual C++ Redistributableが必要らしい。
以下のURLからインストールを行います。
https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads
これで解決!と思いきや、またもエラーに遭遇します。
importは出来たけど、モデルの読み込み時にKeyError: 'sample_weight_modeとエラーが表示された
以下のコードでモデルを読み込もうとしたところ・・・
from tensorflow.keras.models import load_model
new_model = load_model(r'***.h5')
↓のようなメッセージが表示され読み込めない。
KeyError: 'sample_weight_mode'
またもGoogle先生のお世話になったところ、
海外のフォーラムで全く同じ現象の方がいらっしゃいました。
https://github.com/keras-team/keras/issues/14040
この記事によると、TensorFlow2.3で作成したモデルを、下位のバージョンで読み込もうとするとエラーになるらしいです。
ローカル環境のTensorFlowを2.3に上げると、無事読み込みがされました。(コマンドは以下)
pip install tensorflow==2.3.0