1.TensorFlow中变量只有被定义为Variable变量才算是变量
state = tf.Variable(0,name='counter')
one = tf.constant(1)
2.定义了变量一定需要初始化操作
在定义有tf.Variable的情况下,建立的变量是没有初始化的,也就是在debug时不是一个tensor张量,仅仅是一个Variale变量。
在不含有tf.Variable、tf.get_Variable的环境下,比如只有tf.random_normal或tf.constant等时,可以不用初始化。
初始化函数为tf.global_variables_initializer(),原来的tf.initialize_all_variables()已停用。
new_value = tf.add(state,one)
update = tf.assign(state,new_value)
init = tf.global_variables_initializer() #此处只是定义了初始化变量操作,在会话run时才执行
with tf.Session as sess:
tf.run(init)
for _ in range 3: #下划线表示只写不读的变量,表示
sess.run(update)
print(sess.run(state))