tf.assign()
的作用类似于python操作符中的=
理解为tensorflow中为操作符进行赋值操作。
示例代码
import tensorflow as tf
v1= tf.Variable(1)
v2= tf.assign(v1, 10)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
print(sess.run(v1))
print(sess.run(v2))
print(sess.run(v1))
1
10
10
创建一个变量v1,值为1
创建一个操作,将10赋值给v1,并用v2来接收v1的值
创建一个会话,执行v1操作,值为1; 执行v2操作,此时v2值为10 ,v1值为10。所以再次执行v1,值为10。
还有一个类似的常用的加赋值操作v2 = tf.assign_add(v1, 1)
这个运行机制和tf.assign()
是一样的。
import tensorflow as tf
v1= tf.Variable(1)
v2= tf.assign_add(v1, 10)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
print(sess.run(v1))
print(sess.run(v2))
print(sess.run(v1))
1
11
11