###前提
業務でかなりの量(組み合わせ)の オートエンコーダーの学習を行う予定です。
以下のように、学習中 1epoch毎 にモデルを保存(上書き)させていて、
もし学習済、または学習途中のモデルがある場合は、
その結果を使うよう以下のようなコードを書いてみました。
Python
1checkpoint = ModelCheckpoint(filepath = os.path.join(MODEL_DIR, "_model.h5")) 2 3 4(中略) 5 6 7if os.path.isfile(os.path.join(MODEL_DIR, "_model.h5")): 8 model.load_weights(os.path.join(MODEL_DIR, "_model.h5")) 9 10model.fit(Xtrain, Ytrain, 11 batch_size = BATCH_SIZE, epochs = NUM_EPOCHS, 12 validation_split = 0.2, 13 callbacks = [checkpoint, TensorBoard(log_dir = log_dir)])
###実現したいこと
この状態で強制的に訓練を停止させて再度実行してしまうと
最初から再開することになってしまうのですが
停止させた epoch から再開するにはどうすれば良いでしょうか?
###試したこと
model.fit() に initial_epoch の設定があり
デフォルトが0になっているから最初から再開することになることはわかったのですが、
ここの引数に停止させたときの epoch を後から入力させるのも手間だし、
突発で止まってしまったときは どこで止まったかがわからなくなってしまいます。
止めた時の epoch の情報がモデルデータなどから自動的にわかり、
そのまま実行をすればその epoch から再開できるようなコードの書き方はないでしょうか?
回答1件
あなたの回答
tips
プレビュー