亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我們如何使用 train_on_batch 執行提前停止?

我們如何使用 train_on_batch 執行提前停止?

蝴蝶刀刀 2022-06-07 19:03:18
我在一個循環中手動運行這些時期,以及在循環中進一步嵌套的小批量。在每個 mini-batch 中,我需要調用train_on_batch, 來啟用定制模型的訓練。是否有手動方法來恢復提前停止的功能,即打破循環?
查看完整描述

1 回答

?
慕標琳琳

TA貢獻1830條經驗 獲得超9個贊

在實踐中,“提前停止”主要通過以下方式完成:(1) 訓練 X 個 epoch,(2)每次達到新的最佳性能時保存模型,(3) 選擇最佳模型?!白罴研阅堋倍x為實現最高(例如準確性)或最低(例如損失)驗證指標 - 下面的示例腳本:


best_val_loss = 999 # arbitrary init - should be high if 'best' is low, and vice versa

num_epochs = 5

epoch = 0


while epoch < num_epochs:

    model.train_on_batch(x_train, y_train)  # get x, y somewhere in the loop

    val_loss = model.evaluate(x_val, y_val)


    if val_loss < best_val_loss:

        model.save(best_model_path) # OR model.save_weights()

        print("Best model w/ val loss {} saved to {}".format(val_loss, best_model_path))

    # ...

    epoch += 1

請參閱保存 Keras 模型。如果你寧愿直接提前停止,那么定義一些指標 - 即條件 - 這將結束火車循環。例如,


while True:

    loss = model.train_on_batch(...)

    if loss < .02:

        break


查看完整回答
反對 回復 2022-06-07
  • 1 回答
  • 0 關注
  • 331 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號