TensorFlow:如何合并多个集合'?

时间:2017-02-02 11:53:58

标签: python tensorflow deep-learning tensorboard

我有一些collections我希望使用主管跟踪TensorBoard。在Supervisor初始化程序中,我希望有一些效果

summary_op = tf.summary.merge_all(['test', 'valid'])

但我收到错误TypeError: unhashable type: 'list',因为key必须是字符串(see documentation)。


修改

这不起作用:

summary_op = [tf.summary.merge_all('train'), tf.summary.merge_all('valid')]

1 个答案:

答案 0 :(得分:2)

尝试tf.summary.merge(),例如像这样:

summary_op = tf.summary.merge([
        tf.summary.merge_all('test'),
        tf.summary.merge_all('train')],
    collections='merged')

这会合并testtrain个集合中的所有摘要,并将它们添加到新的merged集合中。请注意,如果在相同的时间步骤中多次使用相同的摘要,则会产生奇怪的效果:

Same summaries, same time step

在这里,我偶然(手动!)在训练运行期间存储验证摘要,然后在单独的验证运行中再次

此外,我不确定这是否是最有效的方法,但它确实有效。