Python tensorflow session.run()方法如何知道占位符变量的名称?

Python tensorflow session.run()方法如何知道占位符变量的名称?,python,tensorflow,Python,Tensorflow,从tensorflow教程部分 下面的代码创建占位符并将其分配给变量“x”和“y”,并传递给run方法 x = tf.placeholder(tf.float32) y = tf.placeholder(tf.float32) z = x + y print(sess.run(z, feed_dict={x: 3, y: 4.5})) sess.run()方法如何知道变量“x”和“y”的名称。例如,run方法如何知道feed_dict参数的键。python中是否有一种机制来计算变量的名称?t

从tensorflow教程部分 下面的代码创建占位符并将其分配给变量“x”和“y”,并传递给run方法

x = tf.placeholder(tf.float32)
y = tf.placeholder(tf.float32)
z = x + y

print(sess.run(z, feed_dict={x: 3, y: 4.5}))

sess.run()方法如何知道变量“x”和“y”的名称。例如,run方法如何知道feed_dict参数的键。python中是否有一种机制来计算变量的名称?

tensorflow中的大多数对象都可以通过字符串找到

调用
tf.placeholder(tf.float32)
时,tensorflow将执行以下操作:

  • 使用
    占位符创建节点
  • 将此节点添加到默认图形
  • 返回节点输出张量
您可以为任何节点设置名称,例如
tf.placeholder(tf.float32,name='myplaceholder')
,如果不指定节点名称,tensorflow将生成一个节点名称,您可以使用
print x.op
查看操作的名称

例如,使用节点名加上输出索引来命名张量

x = tf.placeholder(tf.float32)
print x
您将看到类似于
占位符:0
,这是张量名称

因此,在您的代码中,tensorflow可以首先从
x
获取tensor名称,然后迭代默认图以找到合适的节点


您还可以使用字符串作为提要dict,
feed\u dict={x:3,y:4.5}
x
y
中的
{Placeholder:0:3}

不是字符串。它们是
tf.placeholder
对象。您可以通过以下方式查看有关x的一些信息:
print(x.。\uuuu dict\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu)
@Sraw谢谢。钥匙可以是物体,这是我不知道的。将您的评论作为要接受的答案。