每次卷積神經(jīng)網(wǎng)絡訓練的結果都只保存了最后一部分,查閱了一下相關資料,發(fā)現(xiàn)是定義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為你想保存的模型數(shù)量
擴展
Saver類中的可選參數(shù)
tf.train.Saver(max_to_keep = m, keep_checkpoint_every_n_hours = n)
max_to_keep
保存離當前訓練最近的模型數(shù)量,默認值為5。如果想全部保存,并且電腦內(nèi)存夠用,設成多大都可以。
keep_checkpoint_every_n_hours
每隔n個小時保存一次模型,默認值為10,000(一般情況下應該不會訓練這么長時間,所以相當于是不會按照時間來保存,按照設置的epoch保存節(jié)點數(shù)來保存)。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- 解決tensorflow模型壓縮的問題_踩坑無數(shù),總算搞定
- 解決TensorFlow程序無限制占用GPU的方法
- tensorflow實現(xiàn)訓練變量checkpoint的保存與讀取
- tensorflow-gpu安裝的常見問題及解決方案