tensorflow流程
graph和sess关系
graph 图,是用来定义网络结构, 图中定义的计算流程必须用tf的语言工具。np的还不行 一个py文件程序中可以有多个图,默认的是放在默认图中了。 在下面with块中的是graph1图的结构 graph1=tf.Graph() with graph1.as_default(): x2=tf.Variable(2)#这样才是在graph1中 session 会话,这个部分是用于执行计算具体数据的。 一个session里面可以有很多的图。 一个py文件里面可以有很多个session,多起几个下面的with块就行了 with tf.Session() as sess: pass 往往我们不会构建多个graph和session 两者之间关系 Graph好比是灌溉的渠沟、管道,里面决定了水流(张量)的方向以及对水流(张量)的处理。graph是浇地前对渠沟的挖掘修缮。 Session好比是对某一块地进行灌溉。从源头输入、提供水源,选择好输出。Session是浇地时水源的输入和具体哪个畦需要灌溉。
张量、变量、常量
创建启动会话sess
import tensorflow as tf # 创建一个常量 m1 = tf.constant([[3,3]]) # 创建一个常量 m2 = tf.constant([[2],[3]]) # 矩阵乘法op product = tf.matmul(m1, m2) print(product) #第一种方法 # 定义会话 sess = tf.Session() # 调用sess中的run方法来执行矩阵乘法op result = sess.run(product) print(result) sess.close() #第二种方法 with tf.Session() as sess: # 调用sess中的run方法来执行矩阵乘法op result = sess.run(product) print(result) init = tf.global_variables_initializer() init2 = tf.local_variables_initializer() with tf.Session() as sess: init.run() sess.run(init2) local变量和global变量的初始化