我想保留Tensorflow变量的副本,以避免为了减少I / O操作而不得不跟踪使用文件保护程序的最佳纪元运行情况。这是在内存中保持最佳可变状态的一种方法。本质上,我想做这样的事情:
# Creating the graph and training batches.
# Training loop.
for i in range(10):
loss = self.train_iteration(batch)
if loss_improved(loss):
copy_var = tf.identity(self.var_to_copy)
# Copy back the copy_var into var_to_copy
var_to_copy = tf.identity(copy_var)
saver = tf.train.Saver(var_to_copy)
saver.save(sess, variables_file_path, write_meta_graph=False, write_state=True)
我的问题:
-是tf.identity是正确的选择,还是我应该使用tf.variable。
-如果tf.identity的输出不是变量,则tf.train.Saver()是否会按预期工作。
-有更清洁的方法吗?