2016-08-08 34 views
8

我想爲我的實驗保存多個模型,但我注意到tf.train.Saver()構造函數無法保存超過5個模型。這裏是一個簡單的代碼:TensorFlow:保護程序有5個模型限制

import tensorflow as tf 

x = tf.Variable(tf.zeros([1])) 
saver = tf.train.Saver() 
sess = tf.Session() 

for i in range(10): 
    sess.run(tf.initialize_all_variables()) 
    saver.save(sess, '/home/eneskocabey/Desktop/model' + str(i)) 

當我運行此代碼時,我在我的桌面上只看到5個模型。爲什麼是這樣?如何使用相同的tf.train.Saver()構造函數保存超過5個模型?

回答

15

tf.train.Saver() constructor採用了一個可選參數max_to_keep,該參數默認保留模型的5個最新檢查點。爲了節省更多的車型,只是對這樣的說法指定值:

import tensorflow as tf 

x = tf.Variable(tf.zeros([1])) 
saver = tf.train.Saver(max_to_keep=10) 
sess = tf.Session() 

for i in range(10): 
    sess.run(tf.initialize_all_variables()) 
    saver.save(sess, '/home/eneskocabey/Desktop/model' + str(i)) 

爲了保持所有檢查站,傳遞參數max_to_keep=None到金丹構造。

+0

無設置是有用的,但不是在文檔中,整潔! (使用安全嗎?) – VF1