【问题标题】:Tensorflow: how to create a new collection for summaries?Tensorflow:如何为摘要创建新集合?
【发布时间】:2017-10-20 05:18:07
【问题描述】:

我想为摘要创建两个不同的集合。一个是训练总结,一个是验证总结。

所以我可以使用两个不同的 merge_all 操作来存储值

merge_all(key=tf.GraphKeys.SUMMARIES)

函数标量可以添加到集合中。

tf.summary.scalar(
    name,
    tensor,
    collections=None,
    family=None
)

如何为摘要创建新集合?

【问题讨论】:

标签: python tensorflow tensorboard


【解决方案1】:

应该可以使用任意字符串值作为键。它可能看起来像这样:

tf.summary.scalar('tag_a', ...)
tf.summary.scalar('tag_b', ..., collections=["foo"])
merged_a = tf.summary.merge_all()
merged_b = tf.summary.merge_all(key="foo")
writer_a = tf.summary.FileWriter(log_dir + '/collection_a')
writer_b = tf.summary.FileWriter(log_dir + '/collection_b')
for step in range(1000):
  summary_a, summary_b = sess.run([merged_a, merged_b], ...)
  writer_a.add_summary(summary_a, step)
  writer_b.add_summary(summary_b, step)

值得一提的是,通常人们会以一种方式配置事物,即有一个 merge_all 操作和多个 run 调用。例如:https://github.com/tensorflow/tensorflow/blob/cf7c008ab150ac8e5edb3ed053d38b2919699796/tensorflow/examples/tutorials/mnist/mnist_with_summaries.py#L142 即使使用 collections 参数分解汇总系列,TensorBoard 仍会在视觉上表示它们,就好像它们是不同的运行一样。另请注意,name 参数对应于运行中的每个图表(标签)。

【讨论】:

    猜你喜欢
    • 2018-05-30
    • 2017-06-20
    • 2018-08-11
    • 2018-12-21
    • 1970-01-01
    • 2018-07-17
    • 2018-02-23
    • 2019-12-29
    • 2011-01-28
    相关资源
    最近更新 更多