7 TensorFlow 1.x和2的执行模机制-深度学习应用开发-TensorFlow实践

作者:Irain
QQ:2573396010
微信:18802080892
视频链接:第四讲 磨刀不误砍柴工:TensorFlow 编程基础 (新)TensorFlow 编程基础 第四节

1 TensorFlow 1.x和2的执行模机制概念

TensorFlow 2代码的执行机制默认采用Eager Execut ion (动态图执行机制)
TensorFlow 1. x版本代码的执行主要是基于传统的Graph Execution (静态图执行)机制,存在着一定弊端,如入门i门槛高、调试困难、灵活性差、无法使用Python 原生控制语句等。
静态图执行模式对于即时执行模式效率会更高,所以通常当模型开发调试完成,部署采用图执行模式会有更高运行效率。在TensorF low 2里也支持已函数方式调用计算图。

2 计算图(数据流图)的概念

计算图是一个有向图,由以下内容构成:
●一组节点,每个节点都代表-一个操作,是-一种运算。
●一组有向边,每条边代表节点之间的关系(数据传递和控制依赖)。

Tensorflow 2 的运行模式
TensorF low有两种边:
常规边(实线) :代表数据依赖关系。一个节点的运算输出成为另一个节点的输入,两个节点之间有tensor流动(值传递)。
特殊边(虚线) :不携带值,表示两个节点之间的控制相关性。
比如,happens- before关系,源节点必须在目的节点执行前完成执行。

3 计算图的执行

TensorFlow 1. x版本代码的执行模式缺省是图执行模式。
这种基于静态计算图的图执行模式把程序分为两部分:
1)构建阶段:建立一个“计算图”,通过图的模式来定义数据与操作的执行步骤;
2)执行阶段:建立一个会话,使用会话对象来实现计算图的执行。

4 计算图的实例

TensorFlow 1.x的执行模机制:不知道运算结果值
在这里插入图片描述
在这里插入图片描述
输出的结果不是一个具体的数字,而是一个张量的结构。

5 在TensorF low 2中实现图执行模式开发

●TensorFlow 2虽然TensorFlow 1.X有较大差异,不能直接兼容TensorFlow 1.X代码。但实际上还是提供了对TensorFlow 1.X的API支持。
●原有的TensorFlow 1.X的API整理到tensorflow.compat.v1包里去了TensorFlow 2中执行或者开发TensorFlow 1.X代码,可以做如下处理:
1.导入TensorFlow时 使用import tensorflow.compat.v1 as tf代替import tensorflow as tf。
2.执行tf.disable_ eager_ execution()禁用TensorFlow 2默认的即时执行模式。

5.1 体验案例:计算两数之和

在这里插入图片描述
在这里插入图片描述
由于是图执行模式, 这时仅仅是建立了计算图,但它并没有执行。
在这里插入图片描述
定义好计算图后,需要建立一个会话(Session) ,使用会话对象来.实现计算图的执行。
会话模式1明确调用Session.close()函数来关闭会话并释放资源.这样比较简单,但是当Session()操作被执行,从而导致资源泄露。因此该方法一般不推荐,尤其是代码比较复杂的情况下。
发布:2020年6月16日

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值