簡體   English   中英

如何在幾天內訓練神經網絡?

[英]How to train neural network over days?

我需要訓練一個CNN,這將需要1-2天才能在遠程訪問的GPU服務器上進行訓練。

我是否僅需要將筆記本電腦留在過夜以完成培訓即可,還是有辦法保存培訓狀態並在第二天從那里恢復?

(在pytorch中實現)

如果您需要繼續訓練將要保存的模型,則需要保存的不僅僅是模型。 您還需要保存優化器的狀態,時期,得分等。您可以這樣操作:

state = {
    'epoch': epoch,
    'state_dict': model.state_dict(),
    'optimizer': optimizer.state_dict(),
    ...
}

torch.save(state, filepath)

要恢復訓練,您可以執行以下操作: state = torch.load(filepath) ,然后還原每個對象的狀態,如下所示:

model.load_state_dict(state['state_dict'])
optimizer.load_state_dict(stata['optimizer'])

由於要恢復訓練,因此在加載時恢復狀態后,請勿調用model.eval()。

要閱讀有關此內容的更多信息或查看實際示例,請訪問: https : //www.programcreek.com/python/example/101175/torch.save

我假設您使用ssh進入遠程服務器。 通過運行腳本來訓練模型時,例如, $ python train.py ,只需預附加nohup

$ nohup python train.py

這告訴您退出ssh會話並關閉筆記本電腦時忽略掛斷信號的過程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM