需求:实现一个累加器,并且每一步均输出累加器的结果值
import tensorflow as tf
# 需求一:实现一个累加器,并且每一步均输出累加器的结果值
# 1.定义一个变量
x = tf.Variable(1, dtype=tf.int32, name="v_x")
# 2.变量的更新
assign_op = tf.assign(ref=x, value=x + 1)
# ref表示指定需要更新的变量,value表示把变量x更新为哪个值,注意此处的1在底层会转换为张量再去计算,但是注意:value这做加减还行,可以直接这么写,但如果是乘法,而且是矩阵乘法时,做的不是点乘哦,小心点
# value=x + 1等价于value=tf.add(x, tf.constant(1, dtype=tf.int32)),但不能是value=tf.add(x, 1),因为tf.add(x,y)要求x,y必须是张量
# 3.变量初始化操作
init_op = tf.global_variables_initializer()
# 4.运行
with tf.Session() as sess:
sess.run(init_op)
for i in range(5):
r_x = sess.run(x)
print(r_x)
# 执行更新操作
sess.run(assign_op)