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

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

在固定訓練時間后保存 tensorflow 模型

在固定訓練時間后保存 tensorflow 模型

米脂 2022-06-07 16:45:09
我正在一臺服務器上訓練一個模型,它只允許我進行一個小時的計算:在那段時間結束時,它只會扼殺我的工作。我希望 tensorflow 在訓練 58 分鐘后保存其訓練結果,無論當前狀態如何。我可以在最后一個完成的時期保存狀態,我只是想知道發生了什么。我怎樣才能做到這一點?
查看完整描述

2 回答

?
三國紛爭

TA貢獻1804條經驗 獲得超7個贊

當然,你可以定義一個回調函數委托來停止訓練階段。


您可以在這里查看更多信息:

https ://towardsdatascience.com/neural-network-with-tensorflow-how-to-stop-training-using-callback-5c8d575c18a9


在此示例中,創建了一個回調函數,以便在“準確度”超過閾值時停止訓練階段。您可以修改函數以進行時間計算,以驗證經過的時間。


這是一段工作代碼:


class TimeOut(Callback):

    def __init__(self, t0, timeout):

        super().__init__()

        self.t0 = t0

        self.timeout = timeout  # time in minutes


    def on_train_batch_end(self, batch, logs=None):

        if time.time() - self.t0 > self.timeout * 60:  # 58 minutes

            print(f"\nReached {(time.time() - self.t0) / 60:.3f} minutes of training, stopping")

            self.model.stop_training = True


callbacks = [TimeOut(t0=time.time(), timeout=58)]


查看完整回答
反對 回復 2022-06-07
?
斯蒂芬大帝

TA貢獻1827條經驗 獲得超8個贊

Tensorflow 最近制作了一個可以做到這一點的插件。


在你的情況下,它看起來像這樣


import tensorflow_addons as tfa


time_stopping_callback = tfa.callbacks.TimeStopping(seconds=60*58, verbose=1) #58min


model.fit(........, callbacks = [time_stopping_callback])

鏈接: https ://www.tensorflow.org/addons/tutorials/time_stopping


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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