`variable.name`和`variable.op.name`之间的区别是什么?

时间:2016-01-11 17:41:56

标签: tensorflow

假设xVariable,我在教程中看到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'

1 个答案:

答案 0 :(得分:11)

现在Variable.name属性映射到存储该变量的可变Tensor的名称(主要是因为Variable可用于Tensor的任何地方预期)。张量名称是根据产生它们的操作的名称生成的(在这种情况下为Variable op)和张量对应的输出的索引。

您可以随意使用tf.scalar_summary(x.name, x)代替tf.scalar_summary(x.op.name, x),但结果可视化将在代码中包含多余的":<N>"