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变量的初始化

 

posted @ 2020-09-03 23:17  yunshangyue  阅读(126)  评论(0编辑  收藏  举报