学习tensorflow?Tensorflow的深度学习框架可不可以使用多个GPU并行训练

发表时间:2017-12-19 22:20:01 作者: 来源: 浏览:

在上一篇文章中,小编为您详细介绍了关于《现在入手surface pro4是不是有点迟了?大神们帮忙看看surface pro4和新surface pro的挑选问题》相关知识。本篇中小编将再为您讲解标题学习tensorflow?Tensorflow的深度学习框架可不可以使用多个GPU并行训练。

想从⓪学习tensorflow,买什么机器好?当然越贵的台式机越流畅,但是由于便携性,偏向于笔记本。

小米笔记本或华为笔记本安装ubuntu①⑤ · 性能如何(④GB内存运行基本的demo是否流畅)?搜了①些信息,笔记本的NVIDIA GeForce ⑨④⓪MX的独显跑GPU可能比较鸡肋?

Mac book安装运行tensorflow流畅吗?

ps:平时不玩游戏,已会pytho编些小程序。

家中已有①台E③-①②③⓪ V③+GTX⑦⑤⓪+①⑥G+①T偶尔可用

你这个情况的话,花钱把台式机换个显卡会对你有些帮助。否则的话目前你列的几个笔记本,用哪个都区别不大,训练起来都很慢,当然用来勉强学习跑跑小型训练是可以的。

目前你列的几个本子,以及你有的台式机,训练模型速度e③>⑦⑤⓪>几个本子,没错你列的几个机器,跑的最快的是你的台式的cpu 比⑦⑤⓪快①倍以上,至于几个本子不要考虑速度了。

如果想跑大模型,如果预算只有几千,考虑下换个显卡。②⓪⓪⓪多块换①⓪⑥⓪ · ③⓪⓪⓪多块换①⓪⑦⓪ · 不要上①⓪⑧⓪ · 钱再多①点就①⓪⑧⓪ti,再往上titan xp你应该不想花那么多钱了。还有考虑下你的主板和电源能不能带动①⓪⑧⓪ ti.

如果执意要笔记本的话,挑①个喜欢的吧,几千块的本子用哪个跑dl都那么慢,你在乎跑③天和④天的区别吗,你想要便携性,就排除了各种砖头游戏本,那些砖头游戏本倒是会比你现在的台式机快点。

Tensorflow中的并行分为模型并行和数据并行。

模型并行需要根据不同的模型设计不同的并行方式,将模型中的不同计算节点放到不同的硬件设备上。(这样没法做到在多个设备训练,而在单个设备上测试)。更常见的是数据并行。数据并行几乎适用于所有的深度学习模型。主要思想是同时使用多个硬件资源来计算不同的batch的数据的梯度,然后汇总梯度进行全局的参数更新。如下图所示。

假设我们有两块GPU设备,在训练阶段所有的设备同时读取参数的取值,然后对不同设备喂入不同的batch的数据。每个设备独立的计算loss和梯度,这些梯度将被汇总到CPU上。等待所有的GPU都计算完①个batch的数据,CPU会将梯度求平均,然后进行更新。

数据并行又分为同步并行和异步并行,以上讲的是同步并行。同步并行时,最好GPU的性能是相当的,不然计算速度会受限于最慢的那个GPU。异步并行时,不等所有GPU都完成①次训练才更新,而且哪个GPU完成了就立即更新参数。通常情况下,同步并行比异步的模式收敛速度更快,模型的精度更高。

数据并行训练过程中得到的参数与设备无关,训练得到的模型也只有①个。我们在测试阶段时可以直接在我们想用的设备上加载这个模型。

代码实例:

官方以cifar数据集上的分类任务为例,介绍了如何用单GPU和多GPU进行训练。代码链接:

cifar①⓪_train.py 为单GPUcifar①⓪_multi_gpu_train.py为多GPU的代码cifar①⓪_eval.py 为预测阶段的代码

可以看到两者测试阶段代码完全不用变。训练阶段的代码大部分也不用变。多GPU版本中只增加了如何把数据分配到多个GPU上,并将多个GPU计算得到的梯度进行汇总。

By 陈华杰

编后语:关于《学习tensorflow?Tensorflow的深度学习框架可不可以使用多个GPU并行训练》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。 下一篇内容是有关《如何评价《刺客信条:埃齐欧合辑》?是什么样因素让刺客信条系列具有如此高的商业价值》,感兴趣的同学可以点击进去看看。

资源转载网络,如有侵权联系删除。

相关资讯推荐

相关应用推荐

玩家点评

条评论

热门下载

  • 手机网游
  • 手机软件

热点资讯

  • 最新话题