tensorflow - 恢复模型后如何避免重叠张量板图?
问题描述
来自:https ://github.com/tensorflow/tensorflow/blob/r1.2/tensorflow/tensorboard/README.md
想象一下,TensorFlow 在步骤 a 写了一个检查点,然后继续运行到步骤 b,然后在时间戳 a 处崩溃并重新启动。在 a 和 b 之间写入的所有事件都被重新启动事件“孤立”,应该被删除。为了方便这一点,我们在 tensorflow/core/util/event.proto 中有一个 SessionLog 消息,它可以将 SessionStatus.START 记录为一个事件;像所有事件一样,它可能有一个与之关联的步骤。如果 TensorBoard 检测到步骤 a 的 SessionStatus.START 事件,它将假定步骤大于 a 的每个事件都是孤立的,并且它将丢弃这些事件。
现在这是我的代码的模型:
import tensorflow as tf
from tensorflow import SessionLog
with tf.Session(config = config) as sess:
saver = tf.train.Saver()
sess.run(tf.global_variables_initializer())
merged_summary_op = tf.summary.merge_all()
summary_writer = tf.summary.FileWriter('/my_summaries', sess.graph)
i = 1
if model_to_restore_exists:
i = 820 # global step of latest saved model
saver.restore(sess, '/my_models/model_'+str(i))
summary_writer.add_session_log(SessionLog(status=SessionLog.START), global_step=i)
while i < total_steps:
s = sess.run(merged_summary_op)
summary_writer.add_summary(s, i)
_, loss = sess.run([Network.update, Network.loss], feed_dict=input_dict)
if i % 20 == 0:
saver.save(sess, '/my_models/model', global_step=i, write_meta_graph=True)
问题是,我仍然在张量板上得到重叠(见下文)。这条线summary_writer.add_session_log(...)
显然没有任何区别。我究竟做错了什么?
附加信息:(1)我看到这里讨论了同样的问题:在恢复模型时,摘要写入避免在张量板上重叠的正确方法是什么——不幸的是,我不太了解解决方案,可能是由于语言障碍。(2) 我仍在使用 TF 1.4,但我相信这可能与问题无关。