关于Tensorflow分布式并行策略


Posted in Python onFebruary 03, 2020

tensorFlow中主要包括了三种不同的并行策略,其分别是数据并行、模型并行、模型计算流水线并行,具体参考Tenssorflow白皮书,在接下来分别简单介绍三种并行策略的原理。

数据并行

一个简单的加速训练的技术是并行地计算梯度,然后更新相应的参数。数据并行又可以根据其更新参数的方式分为同步数据并行和异步数据并行,同步的数据并行方式如图所示,tensorflow图有着很多的部分图模型计算副本,单一的客户端线程驱动整个训练图,来自不同的设备的数据需要进行同步更新。这种方式在实现时,主要的限制就是每一次更新都是同步的,其整体计算时间取决于性能最差的那个设备。

关于Tensorflow分布式并行策略

数据并行还有异步的实现方式,如图所示,与同步方式不同的是,在处理来自不同设备的数据更新时进行异步更新,不同设备之间互不影响,对于每一个图副本都有一个单独的客户端线程与其对应。在这样的实现方式下,即使有部分设备性能特别差甚至中途退出训练,对训练结果和训练效率都不会造成太大影响。但是由于设备间互不影响,所以在更新参数时可能其他设备已经更好的更新过了,所以会造成参数的抖动,但是整体的趋势是向着最好的结果进行的。所以说这种方式更适用于数据量大,更新次数多的情况。

关于Tensorflow分布式并行策略

模型并行

一个模型并行训练的例子如图所示,其针对的训练对象是同一批样本数据,但是将不同的模型计算部分分布在不同的计算设备上同时执行。

关于Tensorflow分布式并行策略

模型计算流水线并行

此并行方式主要针对在同一个设备中并发实现模型的计算,如图是其并发计算步骤,可以发现它实际上与异步数据并行有些相似,但是唯一不同的是此方式的并行发生在同一个设备上,而不是在不同的设备之间。并且在计算一批简单的样例时,允许进行“填充间隙”,这可以充分利用空闲的设备资源。

关于Tensorflow分布式并行策略

以上这篇关于Tensorflow分布式并行策略就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现批量检测HTTP服务的状态
Oct 27 Python
Python机器学习logistic回归代码解析
Jan 17 Python
Python实现PS滤镜中马赛克效果示例
Jan 20 Python
Python中的单继承与多继承实例分析
May 10 Python
将pip源更换到国内镜像的详细步骤
Apr 07 Python
用python的turtle模块实现给女票画个小心心
Nov 23 Python
python 一维二维插值实例
Apr 22 Python
如何在Python3中使用telnetlib模块连接网络设备
Sep 21 Python
python删除文件、清空目录的实现方法
Sep 23 Python
python 爬虫基本使用——统计杭电oj题目正确率并排序
Oct 26 Python
linux mint中搜狗输入法导致pycharm卡死的问题
Oct 28 Python
Python循环之while无限迭代
Apr 30 Python
基于python修改srt字幕的时间轴
Feb 03 #Python
Python实现不规则图形填充的思路
Feb 02 #Python
Python ORM编程基础示例
Feb 02 #Python
Python 面向对象之类class和对象基本用法示例
Feb 02 #Python
flask 框架操作MySQL数据库简单示例
Feb 02 #Python
python orm 框架中sqlalchemy用法实例详解
Feb 02 #Python
使用Python操作ArangoDB的方法步骤
Feb 02 #Python
You might like
PHP网页游戏学习之Xnova(ogame)源码解读(十)
2014/06/24 PHP
highchart数据源纵轴json内的值必须是int(详解)
2017/02/20 PHP
详解php伪造Referer请求反盗链资源
2019/01/24 PHP
PHP添加PNG图片背景透明水印操作类定义与用法示例
2019/03/12 PHP
thinkPHP3.2使用RBAC实现权限管理的实现
2019/08/27 PHP
Laravel框架下载,安装及路由操作图文详解
2019/12/04 PHP
基于Jquery插件开发之图片放大镜效果(仿淘宝)
2011/11/19 Javascript
MooBox 基于Mootools的对话框插件
2012/01/20 Javascript
在线一元二次方程计算器实例(方程计算器在线计算)
2013/12/22 Javascript
JQuery实现鼠标移动到图片上显示边框效果
2014/01/09 Javascript
node.js中的fs.readFile方法使用说明
2014/12/15 Javascript
JS基于VML技术实现的五角星礼花效果代码
2015/10/26 Javascript
借助FileReader实现将文件编码为Base64后通过AJAX上传
2015/12/24 Javascript
JavaScript 函数的执行过程
2016/05/09 Javascript
jQuery插件HighCharts实现的2D面积图效果示例【附demo源码下载】
2017/03/15 Javascript
javascript使用btoa和atob来进行Base64转码和解码
2017/03/20 Javascript
JS原生带缩略图的图片切换效果
2018/10/10 Javascript
JQueryDOM之样式操作
2019/03/27 jQuery
ZK中使用JS读取客户端txt文件内容问题
2019/11/07 Javascript
实现一个Vue自定义指令懒加载的方法示例
2020/06/04 Javascript
[02:57]DOTA2英雄基础教程 风行者
2014/01/16 DOTA
[46:28]EG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
在Python中编写数据库模块的教程
2015/04/29 Python
图文详解WinPE下安装Python
2016/05/17 Python
Python中list初始化方法示例
2016/09/18 Python
Python列表常见操作详解(获取,增加,删除,修改,排序等)
2019/02/18 Python
PyTorch之图像和Tensor填充的实例
2019/08/18 Python
Python多线程正确用法实例解析
2020/05/30 Python
opencv 实现特定颜色线条提取与定位操作
2020/06/02 Python
Win10环境中如何实现python2和python3并存
2020/07/20 Python
Matplotlib 绘制饼图解决文字重叠的方法
2020/07/24 Python
宏碁西班牙官网:Acer西班牙
2021/01/08 全球购物
AJAX的全称是什么
2012/11/06 面试题
新驾驶员个人自我评价
2014/01/03 职场文书
购房意向书
2014/08/30 职场文书
2015年端午节国旗下演讲稿
2015/03/19 职场文书