美文网首页神经网络与深度学习程序猿日记每天学点机器学习
配置深度学习主机与环境(TensorFlow+1080Ti):(

配置深度学习主机与环境(TensorFlow+1080Ti):(

作者: DexterLei | 来源:发表于2017-07-15 11:40 被阅读8106次
    TensorFlow

    配置深度学习主机与环境(TensorFlow+1080Ti):

    (一)硬件选购与主机组装

    (二)Win10&Ubuntu双系统与显卡驱动安装

    (三)CUDA与CUDNN安装

    (四)基于Anaconda的TensorFlow安装


    一. 硬件选购

    研究需求,遂组装一台全新的计算机,安装Ubuntu,用来运行TensorFlow,同时保留Win10,方便其他其他场合使用。因为硬件更新换代很快,各种网络结构也层出不穷。因此,考虑使用多显卡来提升系统的计算能力是有必要的。现阶段,主要购买单块显卡实现整个系统的搭建,同时保留拓展(多显卡)空间。

    硬件清单如下:

    BOM

    以上配置总共花费24173.1元人民币,购买时间主要在6月底7月初,没能赶上京东618的活动,顺便不幸的碰到了显卡缺货,所以价格上仅供参考。

    1. 主板

    因为考虑到系统有可能拓展四块显卡,因此主板首先需要支持4-Way NVIDA SLI功能,通常单块显卡占用16条PCIE通道,四块显卡则需要16*4=64条PCIE通路,而常见的i7处理器中的高端型号最高只有40条PCIE通道,因此理论上的处理方法是需要使用两块CPU实现双通道处理。京东上就有使用双路E5配合4路1080Ti所搭建的深度学习主机。

    双路E5配合4路1080Ti

    在不考虑双路CPU的情况下,要想实现16*4PCIE通路,目前只有Asus X99-E WS/USB 3.1唯一一块主板可以实现PCIE通路的拓展。

    ASUS X99-E WS USB3.1主板说明书

    上图是主板说明书中的一页,显示主板共有7条PCIE接口。使用四块显卡,分别放置于1、3、5、7号PCIE接口,可以实现4*16条PCIE通道。具体实现我并不是特别清楚,但是在我的深度学习工作站攒机过程记录中,作者也同样询问过这个问题:

    Asus X99-E WS/USB 3.1

    2. 中央处理器 CPU

    为适配主板型号,CPU为LGA2011-v3系列,同时支持最高40条PCIE通道。因为系统主要使用显卡进行计算,因此对CPU的要求并不是很高。Tim Dettmers在其Blog:A Full Hardware Guide to Deep Learning中提到CPU的核心数并不重要,拥有相对较高的主频即可。

    CPU:Two threads per GPU; full 40 PCIe lanes and correct PCIe spec (same as your motherboard); > 2GHz; cache does not matter;

    最后决定在i7-5930K和i7-6850K中二选一,价格差距不大,遂选择主频较高的i7-6850K。

    注意:i7-6850K是不带核显的,装机前期显卡还没到,特地借了一张点亮卡用来检测装机情况。

    各型号处理器具体参数可以在Intel官方网站查询与对比。

    i7-5930K&i7-6850K参数对比

    3. 显卡 GPU

    并非所有的显卡都支持CUDA,实际上仅有部分Nvidia高端显卡才支持,具体支持列表可前往Nvidia查询。

    TensorFlow对GPU的要求

    目前10系显卡横空出世,基本上深度学习主机主要可选为:Titan Xp、1080Ti、Titan、1060与Tesla系列,深度学习模型对参数精度要求并不高,因此除非土豪,可以排出Tesla系列显卡。在金钱允许但非土豪的情况下,1080Ti是目前最佳的选择。在显卡的选购过程中,肯定会遇到公版与非公版的选择问题。虽然非公版的散热较好,且自带超频,但考虑到系统的稳定性与兼容性,建议还是选择公版显卡。另外非公版显卡还可能会遇到显卡太厚主板放不下的问题。

    在显卡的购买过程中正好遇到了显卡慌,京东上所有自营的商家全部缺货,剩下的部分显卡都在6500~7000RMB左右。不得已选择上淘宝代购,结果大部分代购商家都拿不到货,难怪大家都盼望着矿难。另外海淘显卡推荐选择EVGA,在台湾有维修点,方便保修。 

    以下图表和建议,来自于Which GPU(s) to Get for Deep Learning: My Experience and Advice for Using GPUs in Deep Learning

    Normalized cost efficiency of GPUs which takes into account the price of other hardware. Here we compare a full machine, that is 4 GPUs, along with a high end hardware (CPU, motherboard etc.) worth $1500.

    Best GPU overall (by a small margin): Titan Xp

    Cost efficient but expensive: GTX 1080 Ti, GTX 1070, GTX 1080

    Cost efficient and cheap:  GTX 1060 (6GB)I work with data sets > 250GB: GTX Titan X (Maxwell), NVIDIA Titan X Pascal, or NVIDIA Titan Xp

    I have little money: GTX 1060 (6GB)

    I have almost no money: GTX 1050 Ti (4GB)

    I do Kaggle: GTX 1060 (6GB) for any “normal” competition, or GTX 1080 Ti for “deep learning competitions”

    I am a competitive computer vision researcher: NVIDIA Titan Xp; do not upgrade from existing Titan X (Pascal or Maxwell)

    I am a researcher: GTX 1080 Ti. In some cases, like natural language processing, a GTX 1070 or GTX 1080 might also be a solid choice — check the memory requirements of your current modelsI want to build a GPU cluster:This is really complicated, you can get some ideashereI started deep learning and I am serious about it: Start with a GTX 1060 (6GB). Depending of what area you choose next (startup, Kaggle, research, applied deep learning) sell your GTX 1060 and buy something more appropriate

    I want to try deep learning, but I am not serious about it: GTX 1050 Ti (4 or 2GB)

    4. 机箱

    选择Tim DettmersNVIDIA® DIGITS™ DevBox同款机箱,被大多数深度学习用户所采用。

    NVIDIA® DIGITS™ DevBox

    5. 电源

    建议不要在电源上省钱,主机可能24小时运行,稳定性最重要。1600w对付4块1080Ti足以。另外:Nvidia DevBox 用的是 EVGA 1600W 80+ Gold 120-G2-1600-X1,比我买的钛金便宜点。

    6. 散热

    在风冷和水冷的选择上纠结了很久,总担心水冷过保之后会漏水,最终还是选择了风冷。直接选择京东上猫头鹰最贵的一款(NOCTUA NH-D15 CPU散热器),后期使用情况看,散热不错,噪音也不大。

    如果选择水冷的话建议将冷排安装在AIR540机箱的顶端,这样可以避免顶端进灰。

    7. 内存

    i7-6850K默认主频2400MHz,开启XMP之后,自动超频为3200MHz。因此建议购买DDR4 3200MHz内存条。

    XMP是Extreme Memory Profile的缩写,是Intel在2007年9月提出的内存认证标准,适用于DDR3和DDR4。

    为了统一行业内的超频数值标准,而不让各个内存厂商随意设定更高的内存频率数值写入到SPD,英特尔提出了XMP认证标准。通过XMP认证的内存会在内存地址176 ~ 254中记录内存的速度设定,最多可以保存2组设定值。厂商们如需要得到XMP的认证,就必须把内存及该设定送交Intel测试,通过后就会给予认证。

    通过XMP认证后,其SPD中除了预设普通频率数值的SPD值外,还写入了更高频率设定的SPD。这个更高频率的设定配合支持XMP的主板后可以被启用,从而将内存超频提升性能。

    简单的说,通过了英特尔XMP认证的内存,SPD中有两个或更多频率设定档案,只要在主板中启用这些预设的XMP档案,即可将内存条自动超频到3200或更高值(根据档案设定而定)。

    XMP与手动超频效果基本无异,所以可将其看作为内存的自动超频技术。

    8. 显示器

    显示器就是生产力。

    9. 鼠键

    建议购买无线鼠键,可以离机箱远远的。

    注意:在系统点亮之后可能无法识别无线鼠键,建议在点亮阶段使用有线鼠键。

    10. 存储

    若训练集庞大,建议购买较大的SSD,HDD可用来仓储。假如需要安装双系统,建议SSD 512G,HDD可以用来当作Win10和Ubuntu的公共挂载盘。


    二. 主机组装

    计算机组装应该是整个搭建过程中最简单的部分了,虽然我之前从来没有组装过电脑。

    第一步将CPU(注意方向)、RAM、SSD(M.2 Nvme)安装到主板上,将主板附送的主机后置面板安装到机箱上。

    第二步将将散热安装到CPU上,放到机箱中,确定散热器风道方向与散热器的位置,以免放不下。

    第三步涂硅脂,重新将确定好位置的风扇安装到CPU上。

    第四部将主板固定到机箱上,注意机箱上的铜柱不多也不少,避免主板下面有空余的铜柱而导致主板短路。

    第五步将GPU和其他pcie接口设备安装到主板与机箱上,安装磁盘阵列到机箱内,安装电源模块。

    第六步接线。

    关于组装电脑的相关资料如下:

    1. 知乎:如何配组装电脑?

    2. 知乎:关于组装电脑的一些常识

    3. 【极客湾】萌妹子带你装电脑(萌新向)


    三. 参考资料:

    1. 知乎:如何配置一台适用于深度学习的工作站?

    2. 我的深度学习工作站攒机过程记录

    3. 我爱自然语言处理:深度学习主机攒机小记

    4. 深度 | 从硬件配置到软件安装,一台深度学习机器的配备指南

    5. 小白在闭关:搭建一台用于深度学习的工作站

    6. Tim Dettmers:Which GPU(s) to Get for Deep Learning: My Experience and Advice for Using GPUs in Deep Learning

    7. Tim Dettmers:A Full Hardware Guide to Deep Learning

    8. Build Personal Deep Learning Rig: GTX 1080 + Ubuntu 16.04 + CUDA 8.0RC + CuDnn 7 + Tensorflow/Mxnet/Caffe/Darknet

    相关文章

      网友评论

      • 70152f18b831:你好,我的主板,CPU,GPU都跟你的一样,请问"点亮显卡"有没有建议的厂牌型号?
        DexterLei:点亮卡没什么推荐,基本上是张卡就行,买一块二手的足矣,兼容性方面我不太确定,写代码的时候应该需要指定显卡了,不然会使用显示卡作为默认卡。
        -----------------------
        我没有使用点亮卡,目前就两块1080Ti(没凑4块因为暂时需求不大)。
        一般训练的时候系统显示会占掉不到200M显存,影响不大,可以在训练的时候制定训练使用x(eg: 95%)的显存,这样不会因为资源不够而崩溃。(昨天跑程序中间打开chrome占用资源过多导致OMM错误)
        或者直接使用SSH,不用显示器,这样是最好的。

      本文标题:配置深度学习主机与环境(TensorFlow+1080Ti):(

      本文链接:https://www.haomeiwen.com/subject/omvahxtx.html