我正在使用 U-Net GAN。我每 5000 步設定檢查點,在 19000 步左右結果非常好,但系統在之后立即崩潰為垃圾結果,然后才能再次達到 20000 和檢查點。我假設鑒別器因跳躍太大而無法恢復。
有沒有什么辦法可以在發電機模型不受挑戰幾百步并變得愚蠢之前恢復到這種狀態?就像 20k 檢查點之前的 900 步。
uj5u.com熱心網友回復:
我認為在不是檢查點的訓練期間不可能恢復到某個狀態。但是為了防止下次發生這種情況,您可以使用callbacks基于某些性能指標(例如準確性或驗證損失)來保存所需的模型。這是執行此操作的 Python 代碼:
chk = ModelCheckpoint(model_directory_name,
monitor="val_loss",
verbose=1,
save_best_only=True,
save_weights_only=False,
mode='min',
period=1)
callbacks = [chk]
那么你可以呼叫model.fit這種方式來包含回呼:
# Train the Model
model_log = model.fit(x=train_generator,
validation_data=test_generator,
callbacks=callbacks,
...)
現在,當您開始訓練時,將始終保存準確率最高的模型
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/510348.html
下一篇:CamVid12影像分割資料集
