由于Dave points out,的tag
参数tf.histogram_summary(tag, ...)
确实是独立的当前名称范围。部分原因是tag
可能是一个字符串Tensor
(即通过图的一部分计算),而名称范围是纯粹的客户端构造(即仅限于Python),因此没有好方法可以使在两种使用模式中确定范围的工作一致。
但是,如果你使用TensorFlow从源代码编译(而且应该在未来的版本中提供,0.8.0),您可以使用下面的方法来范围的标签(使用Graph.unique_name(..., mark_as_used=False)
):
with tf.name_scope(some_unique_name):
# ...
tf.histogram_summary(
tf.get_default_graph().unique_name('weights', mark_as_used=False),
kernel_weights)
或者,你可以在当前版本的下列内容:
with tf.name_scope(some_unique_name) as scope:
# ...
tf.histogram_summary(scope + 'weights', kernel_weights)
我很快就增加了一个独特的名字层到我的代码和重复的标记错误就走了,这样肯定为什么会发生。 – bobw