Tensorflow中如何使用多个汇总集合?
How to use several summary collections in Tensorflow?
我有两组不同的摘要。一个每批次收集一次,另一个每个时期收集一次。如何使用 merge_all_summaries(key='???')
分别收集这两个组的摘要?手动执行始终是一种选择,但似乎有更好的方法。
说明我认为它应该如何工作:
# once per batch
tf.scalar_summary("loss", graph.loss)
tf.scalar_summary("batch_acc", batch_accuracy)
# once per epoch
gradients = tf.gradients(graph.loss, [W, D])
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') # -> NONE :(
问题已解决。 collections
摘要的参数应该是一个列表。
解决方案:
# 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...) :)
我有两组不同的摘要。一个每批次收集一次,另一个每个时期收集一次。如何使用 merge_all_summaries(key='???')
分别收集这两个组的摘要?手动执行始终是一种选择,但似乎有更好的方法。
说明我认为它应该如何工作:
# once per batch
tf.scalar_summary("loss", graph.loss)
tf.scalar_summary("batch_acc", batch_accuracy)
# once per epoch
gradients = tf.gradients(graph.loss, [W, D])
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') # -> NONE :(
问题已解决。 collections
摘要的参数应该是一个列表。
解决方案:
# 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...) :)