2016-08-08 24 views
8

Chciałem zapisać wiele modeli dla mojego eksperymentu, ale zauważyłem, że konstruktor tf.train.Saver() nie może zapisać więcej niż 5 modeli. Oto prosty kod:TensorFlow: Saver ma limit 5 modeli

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

Po uruchomieniu tego kodu widziałem tylko 5 modeli na moim pulpicie. Dlaczego to? Jak mogę zapisać więcej niż 5 modeli z tym samym konstruktorem tf.train.Saver()?

Odpowiedz

15

Opcja tf.train.Saver() constructor przyjmuje opcjonalny argument o nazwie max_to_keep, który domyślnie zachowuje 5 ostatnich punktów kontrolnych modelu. Aby zapisać więcej modeli, wystarczy podać wartość dla tego argumentu:

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

aby zachować wszystkie punktów kontrolnych, przekazać argument max_to_keep=None do konstruktora wygaszacza.

+0

Ustawienie Brak jest przydatne, ale nie w dokumentach, schludnie! (Czy można go bezpiecznie używać?) – VF1

Powiązane problemy