前提・実現したいこと
kerasでCycleGANを試しています。
学習時間が長いので途中でモデルを保存、そして保存したモデルをロードして学習を再開したいのですが上手くいきません。
発生している問題・エラーメッセージ
問題
- 「モデルを保存」・「保存したモデルをロード」の動作は一応しているのですが、保存したモデルを再学習すると生成される画像がノイズのようになり、epochを繰り返しても改善しない。
- 例えば50epoch学習時点で保存→ロードして再学習させると画像の質が下がりノイズのようになる。しかし連続して100とか200epoch学習させるとちゃんと画像の質は上がり続けている(少なくともノイズのようには全くならない)
エラーメッセージ
- モデルロード時に以下のエラーメッセージが出ており、optimizerの状態が保存されていないようである
UserWarning: Error in loading the saved optimizer state. As a result, your model is starting with a freshly initialized optimizer. warnings.warn('Error in loading the saved optimizer '
該当のソースコード
python
1discriminator = keras.models.load_model('discriminator.h5', custom_objects={'InstanceNormalization':keras_contrib.layers.InstanceNormalization})
試したこと
- モデルをロードしてから、load_weightsで重みをロードした(optimizerとは関係ないので明らかに意味ない)
- 上記エラーが出たときの対処方を調べたが発見できなかった
- 保存したモデルのoptimizerの状態を確認する方法を探したが発見できなかった
補足情報
環境
- Google Colab(GPU使用)
- tensorflow 1.14.0
- keras 2.1.3
- scipy 1.1.0
あなたの回答
tips
プレビュー