下面的例子演示了如何使用变量实现一个 简单的计数器(counter)
1 # _*_coding:utf-8_*_ 2 import tensorflow as tf 3 import numpy as np 4 5 # 建立变量state,通常会将一个统计模型中的参数表示为一组变量. 6 # 例如, 你可以将一个神经网络的 权重作为某个变量存储在一个 tensor中. 在训练过程中, 通过重复运行训练图, 更新这个tensor. 7 state = tf.Variable(0, name="counter") 8 9 # 建立一个操作,将1加到state 10 one = tf.constant(1) # op 11 new_value = tf.add(state, one) # op 12 update = tf.assign(state, new_value) # op 13 14 # 将初始化操作加入到图中,载入图后还需要运行这个初始化操作 15 init_op = tf.initialize_all_variables() 16 17 # 载入图, 用"with tf.Session() as 变量名"这种形式,跳出with语句块的时候自动清空图 18 with tf.Session() as sess: 19 sess.run(init_op) # 初始化操作 20 print(sess.run(state)) # 每次要看变量张量都需要run 21 for _ in range(3): 22 sess.run(update) # 每次操作要用run激活 23 print(sess.run(state))
运行结果:
0 1 2 3