0
我试图在依赖于x
的张量流中分配变量y
。但是,即使更改x
的值,y
也不会改变。当输入参数发生变化时,tf变量不会改变数值
import tensorflow as tf
sess = tf.Session()
x=tf.Variable(4,name='x')
model = tf.global_variables_initializer()
sess.run(model)
y=tf.Variable(2*x,name='y')
model = tf.global_variables_initializer()
sess.run(model)
sess.run(x)
sess.run(tf.assign(x,2))
print(sess.run(y))
我期待的输出4
,但我越来越8
。任何帮助,将不胜感激。
格拉梅西...
酷!它工作:)但是,当我们运行'sess.run'时不会将值赋给变量?当'x'的值被改变时,我在最后一行做了这个。 – americast
'y = tf.Variable(2 * x,name ='y')''y'和'x'之间的关系只是'y'需要来自'x'的初始值,但在'y '集合。 'y = 2 * x'表示'y'的值依赖于'x',当'x'改变时它会改变。如果我让我清楚,upvote和批准这个答案将不胜感激。 –
是的! 那么,根据文档,我看到'tf.Variable'被定义为第一个参数提供初始值的方式。但是我猜想调用'sess.run'时变量被赋值的事实有点令人误解,不是吗?而且,在'y'被分配前'x'的值已经改变了,所以我消化有点困难。 :) – americast