这个例子是用Tensorflow构建一个简单的计算图
import tensorflow as tf
#使用tensorflow在默认的图中创建节点,这个节点是一个变量,命名为“counter”
state = tf.Variable(0, name="counter")
#创建一个常量
one = tf.constant(1)
#对常量与变量进行简单的加法操作,这点需要说明的是: 在TensoorFlow中,
#所有的操作op和变量都视为节点,tf.add() 的意思就是在tf的默认图中添加一个op,这个op是用来做加法操作的。
new_value = tf.add(state,one)
#赋值操作。将new_value的值赋值给update变量
update = tf.assign(state,new_value)
#此处用于初始化变量。但是这句话仍然不会立即执行。需要通过sess来将数据流动起来 。如果有Variable,一定需要写这句话
init = tf.initialize_all_variables()
#切记:所有的运算都应该在session中进行,即 with tf.Session() as sess
with tf.Session() as sess:
#对变量进行初始化,执行(run)init语句
sess.run(init)
#循环3次,并且打印输出。
for _ in range(3):
sess.run(update)
# 打印变量时也需要用sess.run
print(sess.run(state))
结果如下:
注意:
TensorFlow与我们正常的编程思维略有不同:TensorFlow中的语句不会立即执行;而是等到开启会话session的时候,才会执行session.run()中的语句。如果run中涉及到其他的节点,也会执行到。
Tesorflow模型中的所有的节点都是可以视为运算操作op或tensor