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实现下载网易云音乐的高清MV
Mar 16 Python
Python操作RabbitMQ服务器实现消息队列的路由功能
Jun 29 Python
Python中字典(dict)合并的四种方法总结
Aug 10 Python
python实现图片筛选程序
Oct 24 Python
利用selenium爬虫抓取数据的基础教程
Jun 10 Python
在django中图片上传的格式校验及大小方法
Jul 28 Python
python 字符串常用方法汇总详解
Sep 16 Python
Python jieba库用法及实例解析
Nov 04 Python
关于pytorch中全连接神经网络搭建两种模式详解
Jan 14 Python
django中url映射规则和服务端响应顺序的实现
Apr 02 Python
golang/python实现归并排序实例代码
Aug 30 Python
2020年10款优秀的Python第三方库,看看有你中意的吗?
Jan 12 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
使用PHP维护文件系统
2006/10/09 PHP
yii2分页之实现跳转到具体某页的实例代码
2016/06/02 PHP
Laravel5.5以下版本中如何自定义日志行为详解
2018/08/01 PHP
基于PHP的登录和注册的功能的实现
2020/08/06 PHP
过虑特殊字符输入的js代码
2010/08/05 Javascript
精心挑选的15款优秀jQuery 本特效插件和教程
2012/08/06 Javascript
键盘KeyCode值列表汇总
2013/11/26 Javascript
验证控件与Button的OnClientClick事件详细解析
2013/12/04 Javascript
JavaScript简单实现鼠标拖动选择功能
2014/03/06 Javascript
jquery和css3实现的炫酷时尚的菜单导航
2014/09/01 Javascript
jQuery实现图片渐入渐出切换展示效果
2015/08/15 Javascript
如何消除inline-block属性带来的标签间间隙
2016/03/31 Javascript
Angularjs中UI Router的使用方法
2016/05/14 Javascript
模仿password输入框的实现代码
2016/06/07 Javascript
浅谈Javascript中的12种DOM节点类型
2016/08/19 Javascript
JavaScript实现邮箱地址自动匹配功能代码
2016/11/28 Javascript
浅谈在vue中用webpack打包之后运行文件的问题以及相关配置方法
2018/02/21 Javascript
vue动态删除从数据库倒入列表的某一条方法
2018/09/29 Javascript
聊聊Vue 中 title 的动态修改问题
2019/06/11 Javascript
vue的注意规范之v-if 与 v-for 一起使用教程
2019/08/04 Javascript
Python的lambda匿名函数的简单介绍
2013/04/25 Python
介绍Python的Urllib库的一些高级用法
2015/04/30 Python
python数据类型判断type与isinstance的区别实例解析
2017/10/31 Python
Python入门之三角函数全解【收藏】
2017/11/08 Python
python判断一个对象是否可迭代的例子
2019/07/22 Python
Python: 传递列表副本方式
2019/12/19 Python
浅谈python中频繁的print到底能浪费多长时间
2020/02/21 Python
Jupyter Notebook的连接密码 token查询方式
2020/04/21 Python
python实现PolynomialFeatures多项式的方法
2021/01/06 Python
python excel和yaml文件的读取封装
2021/01/12 Python
HTML5 canvas画图并保存成图片的jcanvas插件
2014/01/17 HTML / CSS
世界上最大的各式箱包网络零售店:eBag
2016/07/21 全球购物
Kate Spade澳大利亚官方网站:美国设计师手袋品牌
2019/09/10 全球购物
商务英语专业毕业生求职信
2014/07/06 职场文书
地理信息科学专业推荐信
2014/09/08 职场文书
工程竣工验收申请报告
2015/05/15 职场文书