Следующий код 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())
Следующий сегмент кода также дает нам тот же результат, что и выше. v1
становится [1., 1., 1.], если мы запускаем sess.run(inc_v1)
.
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'
Не могли бы вы сказать мне, почему это вызывает ошибку?