2016-08-08 9 views
8

実験用に複数のモデルを保存しましたが、tf.train.Saver()コンストラクタで5つ以上のモデルを保存できないことがわかりました。ここに簡単なコードがあります:TensorFlow:Saverには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には、デフォルトでモデルの最新の5つのチェックポイントを保持するデフォルトのmax_to_keepという引数があります。より多くのモデルを保存するには、単にその引数の値を指定します。

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

関連する問題