tensorflow提供很简单的设置变量的方法tensorflow.Variable(),state = tf.Variable(0,name = 'counter'),创建一个加一操作也是很简单new_value = tensorflow.add(state,1),
而我们执行像C++一样的自增时需要用到另外一个函数:assign(),update = tensorflow.assign(state,new_value),最后我们在会话函数中执行for循环sess.run(update)。
但是有一个问题,学过C语言的人都知道变量必须初始化,否则会报错,而tensorflow提供的初始化变量的函数是将全局所有的变量统一进行初始化,init = tensorflow.global_variables_initializer()。
全部代码:
import tensorflow as tf
#创建一个初始变量
state = tf.Variable(0,name = 'counter')
#创建一个加一的操作
new_value = tf.add(state,1)
#创建一个赋值操作
update = tf.assign(state,new_value)
#初始化全局变量
init = tf.global_variables_initializer()
#创建会话
with tf.Session() as sess:
sess.run(init)
print(sess.run(state))
#实现一个简单循环,更新值
for i in range(5):
sess.run(update)
print(sess.run(state))
结果是:
0 1 2 3 4 5