tensorflow的计算图总结
更新时间:2020-01-12 19:00:27 作者:佚名 我要评论(0)
在 TensorFlow 中用计算图来表示计算任务。 计算图,是一种有向图,用来定义计算的结构,实际上就是一系列的函数的组合。 用图的方式,用户通过用一些简单
计算图
在 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放到一个组块中
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
- 初探TensorFLow从文件读取图片的四种方式
- python使用TensorFlow进行图像处理的方法
- python tensorflow学习之识别单张图片的实现的示例
- Python3.7安装keras和TensorFlow的教程图解
- python3读取图片并灰度化图片的四种方法(OpenCV、PIL.Image、TensorFlow方法)总结
- Tensorflow之构建自己的图片数据集TFrecords的方法
- tensorflow实现对图片的读取的示例代码
- tensorflow实现图像的裁剪和填充方法
- Tensorflow模型实现预测或识别单张图片
- tensorflow如何批量读取图片
- 详解如何用TensorFlow训练和识别/分类自定义图片
您可能感兴趣的文章:
相关文章
html2canvas属性和使用方法以及如何使用html2canvas将HTML内容写入Canvas生成图片
如何使用JS截取HTML页面为图片呢,下面为大家介绍一款JS截图插件html2canvas.js html2canvas.js 能够实现在用户浏览器端直接对整个或部分页面进行截屏。 html2can2020-01-12
最新评论