首页 > 解决方案 > 恢复模型后如何避免重叠张量板图?

问题描述

来自: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,但我相信这可能与问题无关。

模型恢复后张量板中的重叠标量图

标签: tensorflowmodelrestoreoverlaptensorboard

解决方案


推荐阅读