Tensorflow等效于x = x + 1

时间:2016-11-12 21:48:24

标签: tensorflow

所以我尝试了以下

x = tf.Variable(0.10, tf.float32)
tf.assign(x, tf.add(x,1))

x = tf.Variable(0.10, tf.float32)
x = x + 1

但他们不能工作。知道我们如何在TensorFlow中做这样的功能?

完整性的完整代码

import tensorflow as tf
sess = tf.InteractiveSession()
x = tf.Variable(0.10, tf.float32)
y = tf.constant(1.00, tf.float32)
x.assign(1.0)
sess.run(tf.initialize_all_variables())
x = sess.run(x)
print(x)

更新:解决方案 完整代码的完整代码。它只是确保您x = x.assign(1.0)而不仅仅是x.assign(1.0)

import tensorflow as tf
sess = tf.InteractiveSession()
x = tf.Variable(0.10, tf.float32)
y = tf.constant(1.00, tf.float32)
x = x.assign(1.0)
sess.run(tf.initialize_all_variables())
x = sess.run(x)
print(x)

1 个答案:

答案 0 :(得分:0)

创建变量。

w = tf.Variable(<initial-value>, name=<optional-name>)

使用assign()或相关方法为变量指定新值。

w.assign(w + 1.0)
w.assign_add(1.0)

已更新完整性:

在你的情况下应该是:

x = tf.Variable(0.10, tf.float32)
op = x.assign_add(1.0)
x = sess.run(op)

取自official docs