【发布时间】:2018-07-04 05:12:31
【问题描述】:
以下 TensorFlow 代码运行良好,v1 变为 [1., 1., 1.]
v1 = tf.get_variable('v1', shape=[3], initializer=tf.zeros_initializer)
v1 = v1 + 1
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
print (v1.eval())
下面的代码段也给了我们与上面完全相同的结果。如果我们运行sess.run(inc_v1),v1 将变为 [1., 1., 1.]。
v1 = tf.get_variable('v1', shape=[3], initializer=tf.zeros_initializer)
inc_v1 = v1.assign(v1 + 1)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
sess.run(inc_v1)
print (v1.eval())
但是,以下代码会导致错误。
v1 = tf.get_variable('v1', shape=[3], initializer=tf.zeros_initializer)
v1 = v1 + 1
inc_v1 = v1.assign(v1 + 1)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
sess.run(inc_v1)
print (v1.eval())
错误如下:
AttributeError: 'Tensor' object has no attribute 'assign'
您能告诉我为什么会导致错误吗?
【问题讨论】:
标签: tensorflow assign arithmetic-expressions