質問: Keras-rlを使用してDQNの学習を行なっているのですが、 1,000steps学習して、save_weights(fname)で保存した重みのファイルが存在するときに、 ``` load_weights(fname) fit(xxx, nb_steps=3000) save_weights(fname, overwrite=True) ``` これを実行した場合、学習は1,000stepsの続きから始まり、合計4,000steps学習したことになりますか? また、保存される重みは、3,000steps学習した結果ですか?4,000steps学習した結果になりますか? わかりづらい文章で申し訳ありません。 学習steps数が足りないと感じたときに、今ある重みファイルを使用し、続きから学習させたいと考えています。 もしどなたか分かる方がおりましたら、ご教授をお願いします。 よろしくお願いいたします。 以上
回答: これを読むと、`save_weights()`/`load_weights()`はモデルの重みのみのセーブ/ロードと書いてありますね。`save()`/`load()`で「学習を終えた時点から正確に学習を再開できます」と書いてあります。 > > model.save(filepath)を使うことで,単一のHDF5ファイルにKerasのモデルを保存できます.このHDF5ファイルは以下を含みます. > > > > ``` > 再構築可能なモデルの構造 > モデルの重み > 学習時の設定 (loss,optimizer) > optimizerの状態.これにより,学習を終えた時点から正確に学習を再開できます > > ``` > >