我使用Tensorboard可视化Tensorflow运行,我希望有一个每个纪元只能写一次值的摘要图。
我想做这样的事情:
with graph.as_default():
tf_ending = tf.placeholder(tf.bool)
tf.scalar_summary('Loss', loss) # Some summaries are written every time
if tf_ending:
# This summary should only get written sometimes.
tf.scalar_summary('Total for Epoch', epoch_total)
我觉得我需要做除tf.merge_all_summaries()
以外的其他事情并分别管理这些摘要集,但我不确定它是如何工作的。
答案 0 :(得分:1)
执行此操作的一种方法是向SummaryWriter添加自定义摘要protobuf。在每个纪元的末尾(会话/图表之外),您可以添加以下内容:
summary = tf.Summary()
summary.value.add(tag='Total for Epoch',simple_value=epoch_total)
summary_writer.add_summary(summary, train_step)
但是,这需要通过张量流图(sess.run)返回值(epoch_total)。此外,我不确定这是否是执行此类操作的最佳方式,但是您确实在TF示例中看到了这种情况,例如: here和here。