变量以及操作定义:
value1 = tf.Variable(0,tf.int8,name='value1') value2 = tf.Variable(0,tf.int8,name='value2') one = tf.constant(1) add_value1 = tf.add(one,value1,name='add1') add_value2 = tf.add(value1,value2,name='add2') updata_value1 = tf.assign(value1,add_value1,name='assgin1') updata_value2 = tf.assign(value2,add_value2,name='assgin2')tensorflow里每一个操作以及变量都是需要定义的
变量初始化:
# 对所有变量初始化 init = tf.global_variables_initializer()创建计算图只是建立静态计算模型,执行对话才能提供数据并获得结果。会话拥有并管理Tensorflow程序运行时的所有资源,当所有计算完成过后需要关闭会话帮助系统回收资源。
可以通过以下语句创建:
sess = tf.Session()创建完后,通过以下语句来运行结果:
sess.run(result)但是请记住,使用完后,记得关闭会话:
sess.close()实际代码中,上述过程有些繁琐,故一般使用python的with语句:
with tf.Session() as sess: sess.run(rusult)如果有变量,要成功运行还需增加一个init初始化变量,并调用会话的run命令进行参数初始化
更加直观感受变量的“流动”过程 首先,需要清除其它图形和节点:
# 清除default graph以及不断增加的节点 tf.reset_default_graph()创建存储目录文件:
# 日志文件存储位置设置 logdir = 'C:\\Users\一夜星尘\\tensorflow计算图' writer = tf.summary.FileWriter(logdir,tf.get_default_graph()) writer.close()1-n的累加和:
import tensorflow as tf # 清除default graph以及不断增加的节点 tf.reset_default_graph() value1 = tf.Variable(0,tf.int8,name='value1') value2 = tf.Variable(0,tf.int8,name='value2') one = tf.constant(1) add_value1 = tf.add(one,value1,name='add1') add_value2 = tf.add(value1,value2,name='add2') updata_value1 = tf.assign(value1,add_value1,name='assign1') updata_value2 = tf.assign(value2,add_value2,name='assign2') # 对所有变量初始化 init = tf.global_variables_initializer() with tf.Session() as sess: sess.run(init) n = input('pless enter n:') for i in range(int(n)): # 注意这里的先后顺序 sess.run(updata_value1) sess.run(updata_value2) print('The cumulative sum of n is:',str(sess.run(value2))) # 日志文件存储位置设置 logdir = 'C:\\Users\一夜星尘\\tensorflow计算图' writer = tf.summary.FileWriter(logdir,tf.get_default_graph()) writer.close()结果显示:
tensorboard中节点显示为: