tensorflow的计算图总结


Posted in Python onJanuary 12, 2020

计算图

在 TensorFlow 中用计算图来表示计算任务。 计算图,是一种有向图,用来定义计算的结构,实际上就是一系列的函数的组合。 用图的方式,用户通过用一些简单的容易理解的数学函数组件,就可以建立一个复杂的运算

在 TensorFlow 使用图,分为两步:建立计算图 和 执行图

图,在形式上由结点 Nodes 和边 Edges 组成。 - Nodes,用圆圈表示,代表一些对数据进行的计算或者操作(Operation)。 - Edges,用箭头表示,是操作之间传递的实际值(Tensor)

建立图

graph = tf.Graph()

访问上下文管理器

with graph.as_default():

用 with 表示我们用 context manager 告诉 TensorFlow 我们要向某个具体的 graph 添加 Op 了

执行图图必须在会话(Session)里被启动,会话(Session)将图的 op 分发到 CPU 或 GPU 之类的设备上,同时提供执行 op 的方法,这些方法执行后,将产生的张量(tensor)返回

## 开启session

sess = tf.Session()`

一旦开启了 Session,就可以用 run() 来计算想要的 Tensor 的值

用完会话,记得关掉

sess.close()

Fetches

fetches是session.run()的一个参数,它可以接收任何一个我们想要执行的op或者Tensor,或者他们对应的list结构。

  • 如果是tensor,那么session.run()输出的就是一个Numpy 数组
  • 如果是Op,那么session.run()输出的就是None

比如:sess.run(b)就是告诉Session要把计算b所需要的结点都找到按顺序执行并且输出结果。

全局变量初始化

tf.global_variables_initializer()

表示将所有定义的Variable变量都准备好,以便于后续使用,这个Op也可以传给给session.run.比如:

init = tf.global_variables_initializer()
…
sess.run(init)

张量Tensor和OP

在tensorflow中使用tensor来表示所有的数据结构,计算图中操作Op结点之间传递的都是Tensor

  • 定义tensor时可以直接使用numpy传递给Op结点,因为tensorflow的Op可以将python的数据类型转化为tensor包括numbers,booleans,strings或者list。
  • 图中的任何结点都叫做Operation简称:Op
  • 每个Op的输出会被传递到其他Op或者sess.run()

Variable

Variable,变量是维护图执行过程中的状态信息的,需要它来保持和更新参数数值,是需要动态调整的。

  • Tensor 和Operation都是一成不变的,而Variable是可以随着时间改变的
  • Variables可以用在任何使用tensor的Op中,它当前的值就会被传递给使用它的Op
  • Variable通常的初始值是一些很大的0,1或者随机值tensor,或者内置op:tf.zeros(),tf.ones()等
  • Variable在graph中,状态由session管理,也是在session中进行初始化,session可以追踪variable的当前值是多少。
  • session可以只初始化一部分variable
  • 使用tf.variables_initializer,传入初始化变量列表
  • variable的值是可以被改变的
  • 比如使用variable.assign(variable),或者variable.assign_add(1)
  • 每个session维护独立的variable变量值,同一个variable不同的session值可以是不同的。
  • 当各种Optimizer优化器训练机器学习模型时,variable就会随之改变,当使用variable中的trainable=False属性可以不被Optimizer改变。

name_scopes

  • name_sopes可以用来管理图,可以把一组Op放到一个组块中

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python脚本文件打包成可执行文件的方法
Jun 02 Python
Python中time模块与datetime模块在使用中的不同之处
Nov 24 Python
利用Python为iOS10生成图标和截屏
Sep 24 Python
Python 安装setuptools和pip工具操作方法(必看)
May 22 Python
关于Tensorflow中的tf.train.batch函数的使用
Apr 24 Python
django_orm查询性能优化方法
Aug 20 Python
对python判断ip是否可达的实例详解
Jan 31 Python
浅谈python的深浅拷贝以及fromkeys的用法
Mar 08 Python
python3对接mysql数据库实例详解
Apr 30 Python
Python3日期与时间戳转换的几种方法详解
Jun 04 Python
tensorflow模型的save与restore,及checkpoint中读取变量方式
May 26 Python
Python实现FTP文件定时自动下载的步骤
Dec 19 Python
python利用JMeter测试Tornado的多线程
Jan 12 #Python
Django 批量插入数据的实现方法
Jan 12 #Python
python处理RSTP视频流过程解析
Jan 11 #Python
pyftplib中文乱码问题解决方案
Jan 11 #Python
python实现实时视频流播放代码实例
Jan 11 #Python
python3下pygame如何实现显示中文
Jan 11 #Python
Pytorch 实现sobel算子的卷积操作详解
Jan 10 #Python
You might like
CI(CodeIgniter)框架中的增删改查操作
2014/06/10 PHP
腾讯微博提示missing parameter errorcode 102 错误的解决方法
2014/12/22 PHP
php通过Chianz.com获取IP地址与地区的方法
2015/01/14 PHP
PHP获取网站中各文章的第一张图片的代码示例
2016/05/20 PHP
Yii2中关联查询简单用法示例
2016/08/10 PHP
用javascript实现给出的盒子的序列是否可连为一矩型
2007/08/30 Javascript
取得窗口大小 兼容所有浏览器的js代码
2011/08/09 Javascript
javascript自动给文本url地址增加链接的方法分享
2014/01/20 Javascript
jquery实现标签支持图文排列带上下箭头按钮的选项卡
2015/03/14 Javascript
BootStrap中
2016/12/10 Javascript
DWR3 访问WEB元素的两种方法实例详解
2017/01/03 Javascript
json2.js 入门教程之使用方法与实例分析
2017/09/14 Javascript
Angularjs Promise实例详解
2018/03/15 Javascript
vue中的provide/inject的学习使用
2018/05/09 Javascript
Angular4 反向代理Details实践
2018/05/30 Javascript
微信小程序 可搜索的地址选择实现详解
2019/08/28 Javascript
微信小程序可滑动月日历组件使用详解
2019/10/21 Javascript
Python的Flask框架中集成CKeditor富文本编辑器的教程
2016/06/13 Python
python实现随机加减法生成器
2020/02/24 Python
40行Python代码实现天气预报和每日鸡汤推送功能
2020/02/27 Python
Django admin 实现search_fields精确查询实例
2020/03/30 Python
解决tensorflow 释放图,删除变量问题
2020/06/23 Python
利用CSS3实现圆角的outline效果的教程
2015/06/05 HTML / CSS
CSS3实现超酷的黑猫警长首页
2016/04/26 HTML / CSS
html5中localStorage本地存储的简单使用
2017/06/16 HTML / CSS
Smallable英国家庭概念店:设计师童装及家居装饰
2017/07/05 全球购物
英国时尚高尔夫服装购物网站:Trendy Golf
2020/01/10 全球购物
德国家具折扣店:POCO
2020/02/28 全球购物
SQL里面IN比较快还是EXISTS比较快
2012/07/19 面试题
测试工程师程序员求职信范文
2014/02/20 职场文书
办公室主任竞聘演讲稿
2014/05/15 职场文书
党员带头倡议书
2015/04/29 职场文书
工程主管竞聘书
2015/09/15 职场文书
2016年寒假家长评语
2015/10/10 职场文书
导游词之山东八仙过海景区
2019/11/11 职场文书
MySQL数据库事务的四大特性
2022/04/20 MySQL