質問: log_dir)]) ``` ### 実現したいこと この状態で強制的に訓練を停止させて再度実行してしまうと 最初から再開することになってしまうのですが 停止させた epoch から再開するにはどうすれば良いでしょうか? ### 試したこと model.fit() に initial_epoch の設定があり デフォルトが0になっているから最初から再開することになることはわかったのですが、 ここの引数に停止させたときの epoch を後から入力させるのも手間だし、 突発で止まってしまったときは どこで止まったかがわからなくなってしまいます。 止めた時の epoch の情報がモデルデータなどから自動的にわかり、 そのまま実行をすればその epoch から再開できるようなコードの書き方はないでしょうか?
回答: 長期間放置してしまい申し訳ありません。 その間に回答にたどり着いてしまいました。 ``` for iter in range(STRAT_NUM + 1, NUM_ITERS + 1): hist = model.fit(X_train, y_train, batch_size = BATCH_SIZE, initial_epoch = (iter - 1) * NUM_EPOCHS, epochs = iter * NUM_EPOCHS, verbose = ver_num, shuffle = True, validation_data = (X_val, y_val)) ``` と model.fit() を 普通に for文中 に置いてしまい、 for文中で model.fit() の後に model や weight の保存を行う。 ついでに weight のファイル名を iter から付けるようにする。 この状態で途中で停止した場合に途中から再開すると initial_epoch に iter が入っており、 iter は START_NUM を weightのファイル名の 停止時の iter から読み込むようにすることで 停止させた タイミング(NUM_ITERS毎) から再開することができました。 (初めて学習するときは START_NUM = 0) 確認いただいた皆様、申し訳ありませんでした。