在Tensorflow中,是否可以将一些摘要附加到已合并的摘要中?

在Tensorflow中,是否可以将一些摘要附加到已合并的摘要中?,tensorflow,Tensorflow,比如说,一些内置函数返回train_op和summary_op,其中summary_op由tf.summary.merge(summaries,name='summary_op')定义,我无法触摸该函数 另外,假设我将使用内置的slim.learning.train,它将train\u op和summary\u op作为输入参数 # -- typical train_op, summary_op = model_fn(image) slim.learning.train(train_op, su

比如说,一些内置函数返回
train_op
summary_op
,其中
summary_op
tf.summary.merge(summaries,name='summary_op')
定义,我无法触摸该函数

另外,假设我将使用内置的
slim.learning.train
,它将
train\u op
summary\u op
作为输入参数

# -- typical
train_op, summary_op = model_fn(image)
slim.learning.train(train_op, summary_op=summary_op)

# -- my question
train_op, summary_op = model_fn(image)
some_other_summary_list = some_another_function()
summary_op_ = ...  # is it possible to append some_other_summary_list to summary_op?
slim.learning.train(train_op, summary_op=summary_op_)
我如何将已合并的
摘要\u op
和新收集的摘要
一些其他摘要\u摘要\u列表
中的摘要合并?

--如果我做
tf.merge\u all(tf.GraphKeys.SUMMARIES)
实际上会有太多的摘要,因为在
model\u fn()
中只收集有用和必要的摘要

--我可以考虑定义单独的
summary_op2
和定义
train_step_fn
,如下所示:

from tensorflow.contrib.slim.python.slim.learning import train_step
def train_step_fn(...):
    ... = train_step(...)
    if iteration % 100 == 0: 
        summaries = session.run(summary_op2)
        summary_writer.add_summary(summaries, iteration)
slim.learning.train(train_op, summary_op=summary_op, train_step_fn=train_step_fn)
然而,如果我能简单地在
summary\u op
中添加新的摘要,这似乎太多了。有可能吗?

如果“
summary\u op
和新收集的
summary some other\u summary\u list
”都是由
tf.summary.merge
创建的,您可以通过
tf.summary.merge再次合并它们([summary\u op,summary some other\u summary\u summary\u list])
,如下代码所示:

import tensorflow as tf

a = tf.summary.scalar('a', tf.constant(0))
b = tf.summary.scalar('b', tf.constant(1))
c = tf.summary.scalar('c', tf.constant(2))
d = tf.summary.scalar('d', tf.constant(3))

ab = tf.summary.merge([a, b])
cd = tf.summary.merge([c, d])
abcd = tf.summary.merge([ab, cd])

with tf.Session() as sess:
    writer = tf.summary.FileWriter('.', sess.graph)
    summary = sess.run(abcd)
    writer.add_summary(summary)