2016-08-08 41 views
8

Ich wollte mehrere Modelle für mein Experiment speichern, aber ich bemerkte, dass tf.train.Saver() Konstruktor nicht mehr als 5 Modelle speichern konnte. Hier ist eine einfache Code:TensorFlow: Saver hat 5 Modelle zu begrenzen

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)) 

Wenn ich diesen Code lief, sah ich nur 5 Modelle auf meinem Desktop. Warum ist das? Wie kann ich mehr als 5 Modelle mit demselben Konstruktor tf.train.Saver() speichern?

Antwort

15

Die tf.train.Saver() constructor ein optionales Argument genannt max_to_keep, die Vorgaben zu halten, die 5 letzten Checkpoints Ihres Modells. Um weitere Modelle zu speichern, geben Sie einfach einen Wert für dieses Argument:

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)) 

alle Checkpoints zu halten, übergeben Sie das Argument max_to_keep=None an den Sparer-Konstruktor.

+0

Die Einstellung Keine ist nützlich, aber nicht in der Dokumentation, ordentlich! (Ist es sicher zu benutzen?) – VF1