2016-08-08 21 views
8

Tôi muốn lưu nhiều mô hình cho thử nghiệm của mình nhưng tôi nhận thấy rằng một nhà xây dựng tf.train.Saver() không thể lưu nhiều hơn 5 mô hình. Đây là một mã đơn giản:TensorFlow: Saver có 5 mẫu giới hạn

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

Khi tôi chạy mã này, tôi chỉ thấy 5 mô hình trên Máy tính để bàn của mình. Tại sao điều này? Làm cách nào tôi có thể lưu hơn 5 mô hình với cùng một hàm tạo tf.train.Saver()?

Trả lời

15

tf.train.Saver() constructor lấy một đối số tùy chọn được gọi là max_to_keep, mặc định để giữ 5 điểm kiểm tra gần đây nhất cho mô hình của bạn. Để tiết kiệm nhiều hơn các mô hình, chỉ cần xác định một giá trị cho lập luận rằng:

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

Để giữ tất cả trạm kiểm soát, vượt qua đối số max_to_keep=None để các nhà xây dựng tiết kiệm.

+0

Cài đặt Không có gì hữu ích nhưng không có trong tài liệu, gọn gàng! (Có an toàn để sử dụng không?) – VF1

Các vấn đề liên quan