From 101f8613256a642898df2a13243ecc5b7396cffb Mon Sep 17 00:00:00 2001 From: X-21 Date: Tue, 9 Apr 2019 16:02:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AF=B9RTX=E6=98=BE?= =?UTF-8?q?=E5=8D=A1=E7=9A=84=E9=80=89=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1.增加了RTX系列显卡的购买建议; 2.修改部分数字序列用逗号分割的格式问题; 3.增加一个参考文献。 --- ch15_GPU和框架选型/readme.md | 2 +- .../第十五章_异构运算、GPU及框架选型.md | 46 ++++++++++--------- 2 files changed, 25 insertions(+), 23 deletions(-) diff --git a/ch15_GPU和框架选型/readme.md b/ch15_GPU和框架选型/readme.md index b3b206d..ec9e635 100644 --- a/ch15_GPU和框架选型/readme.md +++ b/ch15_GPU和框架选型/readme.md @@ -9,6 +9,6 @@ **贡献者(排名不分先后):** -内容贡献者可自加信息 +陈龙宇-重庆大学 ########################################################### diff --git a/ch15_GPU和框架选型/第十五章_异构运算、GPU及框架选型.md b/ch15_GPU和框架选型/第十五章_异构运算、GPU及框架选型.md index 24e2dcb..51b3b28 100644 --- a/ch15_GPU和框架选型/第十五章_异构运算、GPU及框架选型.md +++ b/ch15_GPU和框架选型/第十五章_异构运算、GPU及框架选型.md @@ -94,11 +94,14 @@ GPU的性能主要由以下三个参数构成: 如果大家继续比较GTX较早的系列,也可以发现类似的规律。据此,我们推荐大家在能力范围内尽可能买较新的GPU。 +对于RTX系列,新增了Tensor Cores单元及支持FP16,使得显卡的可选择范围更加多元。 + ### 15.5.2 购买建议 -##### 首先给出一些总体的建议 -最好的GPU整体(小幅度):Titan Xp -综合性价比高,但略贵:GTX 1080 Ti,GTX 1070,GTX 1080 -性价比还不错且便宜:GTX 1060(6GB) +首先给出一些总体的建议: + +性价比高但较贵:RTX 2070,GTX 1080 Ti + +性价比高又便宜:RTX 2060,GTX 1060(6GB) 当使用数据集> 250GB:GTX Titan X(Maxwell) ,NVIDIA Titan X Pascal或NVIDIA Titan Xp @@ -106,15 +109,15 @@ GPU的性能主要由以下三个参数构成: 几乎没有钱,入门级:GTX 1050 Ti(4GB) -做Kaggle比赛:GTX 1060(6GB)适用于任何“正常”比赛,或GTX 1080 Ti用于“深度学习竞赛” +做Kaggle比赛:RTX 2070、GTX 1060(6GB)适用于任何“正常”比赛,GTX 1080 Ti(预算足够可以选择RTX 2080 Ti)用于“深度学习竞赛” -计算机视觉研究员:NVIDIA Titan Xp;不要买现在新出的Titan X(Pascal或Maxwell) +计算机视觉研究员:RTX 2080 Ti(涡轮散热或水冷散热较好,方便后期增加新的显卡)如果网络很深可以选择Titan RTX -一名研究员人员:GTX 1080 Ti。在某些情况下,如自然语言处理,一个GTX 1070或GTX 1080已经足够了-检查你现在模型的内存需求 +一名NLP研究人员:RTX 2080 Ti,并使用FP16来训练 搭建一个GPU集群:这个有点复杂,另做探讨。 -刚开始进行深度学习研究:从GTX 1060(6GB)开始。根据你下一步兴趣(入门,Kaggle比赛,研究,应用深度学习)等等,在进行选择。目前,GTX 1060更合适。 +刚开始进行深度学习研究:从RTX 2060或GTX 1060(6GB)开始,根据你下一步兴趣(入门,Kaggle比赛,研究,应用深度学习)等等,再进行选择。目前,RTX 2060和GTX 1060都比较合适入门的选择。 想尝试下深度学习,但没有过多要求:GTX 1050 ti(4或2GB) @@ -378,49 +381,48 @@ mxnet的最知名的优点就是其对多GPU的支持和扩展性强,其优秀 ### 15.2.1 常用框架简介 -1,tensorflow: +1. tensorflow: tensorflow由于有google的强大背书,加上其优秀的分布式设计,丰富的教程资源和论坛,工业部署方便,基本很多人都是从tensorflow入门的 优点:google的强大背书,分布式训练,教程资源丰富,常见问题基本都可以在互联网中找到解决办法,工业部署方便 缺点: 接口混乱,官方文档不够简洁,清晰, -2,keras: +2. keras: keras是一种高层编程接口,其可以选择不同的后端,比如tensorflow,therao等等 优点:接口简洁,上手快,文档好,资源多 缺点: 封装的太好了导致不理解其技术细节 -3,pytorch: +3. pytorch: -4,caffe2: +4. caffe2: caffe2是在caffe之后的第二代版本,同属于Facebook。。。 优点:支持模型的全平台部署,。。。。 缺点:使用人数相对较少,资源较少,和pytorch合并后应该会更受欢迎 -5,mxnet +5. mxnet mxnet是dmlc社区推出的深度学习框架,在2017年被亚马逊指定为官方框架 优点:支持多种语言,代码设计优秀,省显存,华人团队开发,中文社区活跃,官方复现经典论文推出gluoncv和gluonNLP模块,非常方便,拿来就可以用。 缺点:现在mxnet官方社区主要在推gluon接口,接口稍有混乱,坑较多,入手门槛稍高 -6,caffe: +6. caffe: 目前很多做深度学习比较早的大厂基本都是在用caffe,因为在2013-2015年基本就是caffe的天下,并且caffe的代码设计很优秀,基本所有代码都被翻了很多遍了,被各种分析,大厂基本都是魔改caffe,基于caffe来进行二次开发,所在目前在很多大厂还是在使用caffe 优点:资源丰富,代码容易理解,部署方便 缺点:入门门槛高,文档较少 -###15.2.1 框架选型总结 -1,新手入门,首推pytorch,上手快,资源丰富,官方文档写的非常好(https://pytorch.org/tutorials/) -2,目前工业部署,tensorflow是首选,资源丰富,并且在分布式训练这一块基本一家独大 -3,mxnet的gluon接口有比较丰富的中文资源(教程:zh.gluon.ai,论坛:discuss.gluon.ai),gluoncv模块(https://gluon-cv.mxnet.io),gluonNLP模块(https://gluon-nlp.mxnet.io) +框架选型总结: +1. 新手入门,首推pytorch,上手快,资源丰富,官方文档写的非常好(https://pytorch.org/tutorials/) +2. 目前工业部署,tensorflow是首选,资源丰富,并且在分布式训练这一块基本一家独大 +3. mxnet的gluon接口有比较丰富的中文资源(教程:zh.gluon.ai,论坛:discuss.gluon.ai),gluoncv模块(https://gluon-cv.mxnet.io),gluonNLP模块(https://gluon-nlp.mxnet.io) -##15.3 模型部署 +## 15.3 模型部署 我们一般都是通过python或者其他语言来编码训练模型,然后基于后端来进行部署 一般的框架都有自身的部署框架,比如tensorflow,pytorch,caffe2,mxnet等等 有一些框架是专门做推理部署使用的,比如 -(1)tensorRT - + (1)tensorRT (2)TVM - (3)ONNX ## 相关文献 [1] Aston Zhang, Mu Li, Zachary C. Lipton, and Alex J. Smola. [《动手学深度学习》附录 购买GPU](https://github.com/d2l-ai/d2l-zh/blob/master/chapter_appendix/buy-gpu.md), 2019. + [2] Tim Dettmers. [Which GPU(s) to Get for Deep Learning: My Experience and Advice for Using GPUs in Deep Learning](http://timdettmers.com/2019/04/03/which-gpu-for-deep-learning/), 2019. \ No newline at end of file