Python 如何在Tensorflow中使用多个摘要集合?

Python 如何在Tensorflow中使用多个摘要集合?,python,tensorflow,summary,Python,Tensorflow,Summary,我有两组不同的摘要。每个批次收集一次,另一个每个历元收集一次。如何使用merge\u all\u summaries(key='???')分别收集这两组中的摘要?手动操作总是一种选择,但似乎有更好的方法 说明我认为它应该如何工作: #每批一次 tf.标量_汇总(“损失”,图形损失) tf.数量汇总(“批次依据”,批次准确度) #每时代一次 梯度=tf.梯度(图形损失,[W,D]) tf.直方图摘要(“嵌入/W”,W,集合=”每纪元') tf.直方图摘要(“嵌入/D”,D,集合=”每纪元') tf

我有两组不同的摘要。每个批次收集一次,另一个每个历元收集一次。如何使用
merge\u all\u summaries(key='???')
分别收集这两组中的摘要?手动操作总是一种选择,但似乎有更好的方法

说明我认为它应该如何工作:

#每批一次
tf.标量_汇总(“损失”,图形损失)
tf.数量汇总(“批次依据”,批次准确度)
#每时代一次
梯度=tf.梯度(图形损失,[W,D])
tf.直方图摘要(“嵌入/W”,W,集合=”每纪元')
tf.直方图摘要(“嵌入/D”,D,集合=”每纪元')
tf.merge_all_summaries()#->(MergeSummary…)
tf.merge_all_摘要(key='per_epoch')#->NONE:(

问题已解决。
集合
摘要的参数应为列表。 解决方案:

  # once per batch 
  tf.scalar_summary("loss", graph.loss)
  tf.scalar_summary("batch_acc", batch_accuracy)
  # once per epoch
  tf.histogram_summary("embedding/W", W, collections=['per_epoch'])
  tf.histogram_summary("embedding/D", D, collections=['per_epoch'])

  tf.merge_all_summaries()                # -> (MergeSummary...) :)
  tf.merge_all_summaries(key='per_epoch') # -> (MergeSummary...) :)
编辑。TF中的句法变化:

# once per batch 
  tf.summary.scalar("loss", graph.loss)
  tf.summary.scalar("batch_acc", batch_accuracy)
  # once per epoch
  tf.summary.histogram("embedding/W", W, collections=['per_epoch'])
  tf.summary.histogram("embedding/D", D, collections=['per_epoch'])

  tf.summary.merge_all()                # -> (MergeSummary...) :)
  tf.summary.merge_all(key='per_epoch') # -> (MergeSummary...) :)

首先找到了这个问题,但搜索了两组不明显的摘要。这种方法对于稍微不同的用例更容易一些。您只需使用摘要的名称即可。