tensorflow框架学习——graph、session、op

一、tensorflow基础

使用 TensorFlow, 你必须明白 TensorFlow:

  • 使用图 (graph) 来表示计算任务.
  • 在被称之为 会话 (Session) 的上下文 (context) 中执行图.
  • 使用 tensor 表示数据,tensor是张量,即多维数组。
  • 通过 变量 (Variable) 维护状态.
  • 使用 feed 和 fetch 可以为任意的操作op(arbitrary operation) 赋值或者从其中获取数据.

综述:TensorFlow 是一个编程系统, 使用图来表示计算任务. 图中的节点被称之为 op (operation 的缩写). 一个 op 获得 0 个或多个 Tensor, 执行计算, 产生 0 个或多个 Tensor.

结构简介:

  • 一个Session会话中可以有多个graph图,graph图一般使用框架自带的默认图即可。
  • 一个graph图中可以有多个操作op,op可以传入0或多个tensor传入,同时输出0或多个tensor。
  • tensor即多维数组,tensor可以是Variable变量、constant常亮、placeholeder占位符,这三个会在后续内容更新讲解。


示例代码:

import tensorflow as tf

#创建一个变量常量、两个常量,都是二维数组
x=tf.Variable([[1,2,3],[4,5,6]])
w=tf.constant([[1],[2],[3]])
b=tf.constant([[1],[1]])
#若定义了变量,在执行图操作之前,要对变量进行初始化,下面函数初始化所有变量
init=tf.global_variables_initializer()
#OP:矩阵相乘
MatMul=tf.matmul(x,w)
#OP:矩阵相加op
Add=tf.add(MatMul,b)
#OP:激活函数op
ReLU=tf.nn.relu(Add)

#创建一个Session会话,graph参数没有指定图则会调用默认图
sess=tf.Session()
sess.run(init)  #执行初始化
print(sess.run(ReLU))  #执行图的最后一步即可运行整个图,程序会自动一层一层往前调用
sess.close() #会话关闭

#用With创建会话,可以用需要close
with tf.Session() as sess:
    sess.run(init)
    print(sess.run(ReLU))




猜你喜欢

转载自www.cnblogs.com/dwithy/p/11249356.html