python - simple - TensorFlow: Saver tiene un límite de 5 modelos
tensorflow save trained network (1)
Quería guardar varios modelos para mi experimento, pero noté que el constructor tf.train.Saver()
no podía guardar más de 5 modelos. Aquí hay un código simple:
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) )
Cuando ejecuté este código, solo vi 5 modelos en mi Escritorio. ¿Por qué es esto? ¿Cómo puedo guardar más de 5 modelos con el mismo constructor tf.train.Saver()
?
El constructor tf.train.Saver()
toma un argumento opcional llamado max_to_keep
, que de forma predeterminada mantiene los 5 puntos de control más recientes de su modelo. Para guardar más modelos, simplemente especifique un valor para ese argumento:
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))
Para mantener todos los puntos de control, pase el argumento max_to_keep=None
al constructor de ahorro.