解決TensorFlow訓練模型及保存數量限制的問題
每次卷積神經網絡訓練的結果都隻保存瞭最後一部分,查閱瞭一下相關資料,發現是定義saver時采用的默認值,這裡進行如下設置:
saver = tf.train.Saver( max_to_keep = 100 , keep_checkpoint_every_n_hours = 1 )
補充:解決TensorFlow隻能保存5個模型的問題
直奔主題
在訓練模型的代碼中找到這句代碼:tf.train.Saver(),
改成:
tf.train.Saver(max_to_keep = m) # m為你想保存的模型數量
擴展
Saver類中的可選參數
tf.train.Saver(max_to_keep = m, keep_checkpoint_every_n_hours = n)
max_to_keep
保存離當前訓練最近的模型數量,默認值為5。如果想全部保存,並且電腦內存夠用,設成多大都可以。
keep_checkpoint_every_n_hours
每隔n個小時保存一次模型,默認值為10,000(一般情況下應該不會訓練這麼長時間,所以相當於是不會按照時間來保存,按照設置的epoch保存節點數來保存)。
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。
推薦閱讀:
- 淺談tf.train.Saver()與tf.train.import_meta_graph的要點
- 詳解TensorFlow訓練網絡兩種方式
- pytorch 實現L2和L1正則化regularization的操作
- 基於tensorflow權重文件的解讀
- 淺談tensorflow語義分割api的使用(deeplab訓練cityscapes)