我有两部分的大图,我轮流跑。两者都有摘要。
我正在使用node调用摘要
merged_summary = tf.summary.merge_all()
但请注意,它会导致图的后半部分在有意义之前计算张量。
那么,如何只合并我的图的一半的摘要呢?
发布于 2017-10-10 06:46:19
您可以使用tf.summary.merge
,传递要合并的摘要的列表。例如,如果您有摘要:
cost_summary = tf.summary.scalar('cost_sum', cost) # for some 'cost' tensor
grad_summary = tf.summary.scalar('grad_sum', grad) # for some 'grad' tensor
您可以通过以下方式按名称合并它们:
merged = tf.summary.merge([cost_summary, grad_summary])
因此,只需为图形的每个部分创建合并的汇总运算符,并在有意义时调用它们。
发布于 2017-10-10 06:44:28
假设您有第一个和第二个图的两个摘要列表,即:
summaries_first = [tf.summary.image("my_first_graph_input", image), ...]
summary_second = [tf.summary.scalar("my_second_graph_loss"), ..]
将每个列表合并为一个摘要操作:
first_graph_summary_op = tf.summary.merge(summaries_first)
second_graph_summary_op = tf.summary.merge(summary_second)
现在,每当您在每个图上执行sess.run()
时,评估它相应的摘要操作并编写它。
https://stackoverflow.com/questions/46655921
复制相似问题