假设x
是Variable
,我在教程中看到op.name
使用了tf.scalar_summary(x.op.name, x)
。我想知道我是否可以将x.op.name
替换为x.name
。
两者之间的区别是什么?它们可以互换吗?
with tf.name_scope('ab'):
a = tf.Variable(tf.constant(1), name="v1")
a.name
u'ab_1/v1:0'
a.op.name
u'ab_1/v1'
答案 0 :(得分:11)
现在Variable.name
属性映射到存储该变量的可变Tensor
的名称(主要是因为Variable
可用于Tensor
的任何地方预期)。张量名称是根据产生它们的操作的名称生成的(在这种情况下为Variable
op)和张量对应的输出的索引。
您可以随意使用tf.scalar_summary(x.name, x)
代替tf.scalar_summary(x.op.name, x)
,但结果可视化将在代码中包含多余的":<N>"
。