1. 程式人生 > >Caffe訓練深度學習網路的暫停與繼續

Caffe訓練深度學習網路的暫停與繼續

Caffe訓練深度學習網路的暫停與繼續

博主在訓練Caffe模型的過程中,遇到了如何暫停訓練並斷點繼續訓練的問題。在此記錄下有關這個問題的幾種解決方案。更新於2018.10.27。

方法1:臨時暫停

這種方法是用於臨時暫停Caffe訓練,暫停後可以以完全相同的配置從斷點處繼續訓練。如果此時訓練中記錄了log檔案,那麼繼續後,從log檔案中完全看不出暫停的痕跡,是一份完整的記錄。

但是,這樣暫停後,雖然檢視GPU的使用率為0,但仍然無法釋放程式所佔用的那一部分GPU,也就是說,無法暫停後訓練另外的網路,或測試非常大的網路。且,此時的終端不能關閉。

命令

暫停:

Ctrl+z

開始:

fg
回車

方法2:停止訓練,下次訓練從記錄的引數開始

這種暫停方法其實相當於多次訓練,區別是,繼續訓練時,可以用之前暫停時得到的引數初始化網路。也就是說,這種暫停再開始後可以看成是對之前網路的finetune。為了實現這種繼續訓練的目的,需要在訓練時編輯solver檔案,設定snapshot,從而保證訓練過程每隔一段間隔就會記錄一次引數。

好處是,停止後,GPU完全釋放,可以進行其他的操作。