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

TensorFlow: How to merge multiple 'collections'?

我有一些 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')]

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

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

这将合并来自 testtrain 集合的所有摘要,并将它们添加到新的 merged 集合中。请记住,如果在 same 时间步期间多次使用 same 摘要,这将导致奇怪的效果:

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

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