分布式TensorFlow

简介: 【7月更文挑战第3天】分布式TensorFlow。

分布式TensorFlow
如果一台计算机上有很多GPU,那么通过GPU并行运算的方式可以得到很好的加速效果。但是一台计算机可携带的GPU毕竟有限,要想进一步提升速度,可以将TensorFlow分布地运行在多台机器上。2016年4月14日,Google发布了分布式TensorFlow。
分布式TensorFlow有一些基本概念,下面对其进行介绍。
(1)task:一个task一般会关联到某个单一的TensorFlow服务端的处理过程,属于一个特定的Job,并且在该Job的任务列表中有唯一的索引,可以将其理解为每台机器上的一个进程。
(2)Job:Job分为ps、worker两种,一个Job包含一系列致力于某个相同目标的task。例如,一个叫ps的Job会处理存储与更新变量相关的工作,而一个叫worker的Job会承载那些用于计算密集型任务的无状态节点。一般来说,一个Job中的task会运行在不同的机器中。
(3)Cluster(集群):一个TensorFlow集群包含一个或者多个TensorFlow服务端,集群被切分为一系列Job,而每个Job又会负责一系列的task。一个集群会专注于一个相对高层的目标,如用多台机器并行地训练一个神经网络。
使用分布式TensorFlow训练深度学习模型有两种方式。第一种是计算图内分布式(In-graph模式),在该模式中,所有的计算任务使用同一个计算图中的变量。第二种是计算图间分布式(Between-graph模式),在该模式下,数据并行,每台机器使用完全相同的计算图,每个计算图都是独立的,但数据同步比较困难。

目录
相关文章
|
2月前
|
TensorFlow 算法框架/工具
第2章 TensorFlow 基础
第2章 TensorFlow 基础
33 0
|
2天前
|
机器学习/深度学习 TensorFlow API
TensorFlow基础介绍
【7月更文挑战第3天】TensorFlow基础介绍。
8 1
|
2月前
|
TensorFlow 算法框架/工具
TensorFlow基础
TensorFlow基础
31 0
|
2月前
|
机器学习/深度学习 Kubernetes TensorFlow
基于ASK+TFJob快速完成分布式Tensorflow训练任务
本文介绍如何使用TFJob在ASK+ECI场景下,快速完成基于GPU的TensorFlow分布式训练任务。
138 0
基于ASK+TFJob快速完成分布式Tensorflow训练任务
|
机器学习/深度学习 分布式计算 自然语言处理
「技术选型」Keras、TensorFlow和PyTorch的区别
「技术选型」Keras、TensorFlow和PyTorch的区别
|
存储 监控 TensorFlow
如何运行 TensorFlow 分布式训练|学习笔记
快速学习如何运行 TensorFlow 分布式训练
99 0
|
TensorFlow 算法框架/工具 文件存储
Kubeflow实战系列: 利用TFJob运行分布式TensorFlow
TensorFlow作为现在最为流行的深度学习代码库,在数据科学家中间非常流行,特别是可以明显加速训练效率的分布式训练更是杀手级的特性。但是如何真正部署和运行大规模的分布式模型训练,却成了新的挑战。
12746 0
|
Java TensorFlow 算法框架/工具
【翻译】Sklearn与TensorFlow机器学习实用指南 ——第12章 设备和服务器上的分布式TensorFlow(下)
并行运行 当 TensorFlow 运行图时,它首先找出需要求值的节点列表,然后计算每个节点有多少依赖关系。 然后 TensorFlow 开始求值具有零依赖关系的节点(即源节点)。 如果这些节点被放置在不同的设备上,它们显然会被并行求值。
|
算法 TensorFlow 算法框架/工具
【翻译】Sklearn与TensorFlow机器学习实用指南 ——第12章 设备和服务器上的分布式TensorFlow(上)
在第 11 章,我们讨论了几种可以明显加速训练的技术:更好的权重初始化,批量标准化,复杂的优化器等等。 但是,即使采用了所有这些技术,在具有单个 CPU 的单台机器上训练大型神经网络可能需要几天甚至几周的时间。
|
TensorFlow 算法框架/工具 开发者
TensorFlow分布式实践
基于单机的建模很难满足企业不断增长的数据量级的需求,开发者需要使用分布式的开发方式,在集群上进行建模。而单机和分布式的开发代码有一定的区别,本文就将为开发者们介绍,基于TensorFlow进行分布式开发的两种方式,帮助开发者在实践的过程中,更好地选择模块的开发方向。
1872 0

热门文章

最新文章