解決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。如有錯誤或未考慮完全的地方,望不吝賜教。

推薦閱讀: