环境搭建 | 深度学习爱好者如何配置带GPU电脑环境

2017-06-14 11:30英特尔/PC/移动芯片

作者 | 沈浩

最近开始学习深度学习(Deep Learning)技术,特别是google的Tensorflow深度学习包开源后,深度学习已经成为大数据领域的重大计算革命,配合Teras顶层框架,使得Deep learning的学习成本降低。

目前Deep learning技术应用越来越广,一切数据都是图,CNN卷积神经网络技术充满了神奇的计算魅力。DL技术广泛应用于:图像处理、人脸识别、自动驾驶、聊天机器人、AI人工智能、机器语言翻译、图片推荐系统、声音处理、音乐作曲、机器写作等领域。

俺当时为了可能的深度学习,看很多文章都提及GPU(图形处理器)是实现DL的基本要素。因为不懂太多硬件需求,就买了新出的苹果电脑,带有两块GPU图形卡,结果悲剧了,目前的DL并不支持。

没办法,先用CPU作为处理器玩玩Teras的tensorflow吧。在处理3100张电影海报图片过程中,大概需要30分钟的建模训练时间;在另一个处理11000多张烟盒图片的VGG16建模训练大概需要2个小时,能忍受但自然需要考虑建模效率和时间问题了。

接下来开始寻找解决路径,首先想到的是采用云计算,目前Google Cloud和AWS都提供带有GPU的实例,这是一种比较理想的学习方式和工程层面的可扩展模式。

理由:

  1. 有一些深度学习课程本身就在AWS云中部署和提供教学案例及代码。

  2. 可扩展应用架构,比如linux的Ubuntu操作系统,已经安装或自动更新很多支撑包,大部分DL包也已经安装就绪,将来根据需要扩展GPU个数或存储空间等。

  3. 最低端的配置大概在1美金/每小时,看别人经验大致一个月需要5000人民币。

  4. 关键是google要翻墙,AWS服务区域也不是很明确是否适合大陆地区。

下面是google的GCE instance

自然就需要考虑是否可以自己配置带GPU的电脑来玩Deep learning。开始寻找这方面的信息了,其实过去自己组装过电脑,从使用Apple电脑后已经不熟悉组装电脑了,市场行情如何,大致多少钱,如何配置GPU和软件,价值如何?

恰好找到一篇国外文章,比较详细叙述了配置选型和安装过程,我把文章整理一些留个备份也供大家参考!

这是文章提到的电脑配置:

我没有查国内报价,大致体量可以换算一下。这台大致在14000人民币。最贵的就是GPU了,5000人民币左右。

电脑组件:

GPU ——Nvidia GTX 1080 Ti

GPU的重要性在于:

  1. DL中的大多数计算是矩阵运算,如矩阵乘法。如果在CPU上完成,它们可能很慢。

  2. 由于我们在一个典型的神经网络中进行了数千次这样的操作,因此慢速度真的加起来就更慢了。

  3. GPU相当方便地能够并行运行所有这些操作。它们有大量的内核,可以运行更多的线程。

  4. GPU还具有更高的内存带宽,使其能够一次对一堆数据执行这些并行操作。

作者可选择的是Nvidia的几张牌:GTX 1070($ 360),GTX 1080($ 500),GTX 1080 Ti(700美元),最后是Titan X(1320美元)。

在性能方面:GTX 1080 Ti和Titan X类似,大致来说,GTX 1080比GTX 1070快25%,而GTX 1080 Ti比GTX 1080快约30%。

以下是作者提到采购GPU时要考虑的事项:

  1. 制造商:好像目前没得选,只能是Nvidia英伟达出品。英伟达多年来一直专注于机器学习,支撑GPU运算的CUDA工具包根深蒂固,它是DL从业者的唯一选择。

  2. 预算:泰坦X在这方面的表现非常糟糕,因为它提供与1080 Ti相同的表现约500美元。

  3. 一个或多个:我考虑挑选一些1070s而不是1080或1080 Ti。这样可以让我在两张卡上训练一个模型,或者一次训练两个模型。目前在多卡上训练一个模型有点麻烦,尽管随着PyTorch和Caffe 2的改变,GPU的数量几乎是线性缩放。另一个选择 - 同时训练两个模型似乎有更多的价值,但我决定现在获得一个更强大的卡,并在之后增加一个。

  4. GPU内存:更多内存更好。有更多的内存,我们可以部署更大的模型,并在训练期间使用足够大的批量(这有助于梯度流)。

  5. 内存带宽:这使得GPU能够在大量内存上运行。这是GPU的最重要的特征。

考虑到这一切,作者选择了GTX 1080 Ti,主要是为了提高训练速度。今后再添加第二个1080 Ti。

中央处理器——i7最好

即使GPU是深入学习的MVP,CPU仍然重要。例如,数据准备通常在CPU上完成。如果我们要并行化所有这些数据准备,每个核心的内核和线程数量很重要。

为了保持预算,我选择了中档CPU,Intel i5 7500约为190美元。它比较便宜,但不够好,不能减慢事情。

编辑:考虑CPU,“大概是唯一的DL /多GPU最大的小问题,就是要关注的CPU /主板支持PCIe通道”。我们希望每个GPU都有16个PCIe通道,以便尽可能快地获取数据(PCIe 3.0为16 GB / s)。这意味着对于两张GPU卡,我们需要32个PCIe通道。如果选择的CPU只有16个车道。那么2个GPU将以2x8模式运行(而不是2x16)。这可能是一个瓶颈,导致图形卡的使用效果不理想。因此建议使用40线的CPU。

一个很好的解决方案将是像E5-1620 v4($ 300)这样的英特尔至强处理器。或者如果您想要像桌面i7-6850K($ 590)一样使用更高端的处理器。

内存(RAM)——32GB

如果我们要使用相当大的数据集,那么有很多内存是很好的。我有2支16 GB,总共32 GB的RAM为$ 230,并计划再购买另外32 GB。

磁盘——固态硬盘

需要一块快速的SSD磁盘,以保持操作系统和当前的数据运算存储,深度学习需要巨大数据集(如ImageNet-预先训练好的),如果慢转速硬盘不太好。

SSD:我记得当我第一个Macbook Air几年前,我以SSD的速度感到震惊。令我高兴的是,名为NVMe的新一代SSD已经开始上市。一个480 GB的MyDigitalSSD NVMe驱动器,230美元是很大的。这个宝贝以每秒千兆字节的速度复制文件。

硬盘——2 TB

虽然SSD已经变得越来越快,但硬盘已经变得越来越便宜。可以用来存储或备份大规模数据集。

母板

在选择主板时,能够支持两个GTX 1080 Ti,包括PCI Express通道数(最小为2x8)和2个卡的物理尺寸。此外,请确保它与所选的CPU兼容。一个华硕TUF Z270为$ 130是选择。如果您拥有Intel Xeon CPU,MSI - X99A SLI PLUS应该会很好。

电源——750W

经验法则:它应该为CPU和GPU提供足够的电力,加上额外的100瓦特。

英特尔i5 7500处理器使用65W,GPU(1080 Ti)需要250W,75美元的价格获得了一个Deepcool 750W Gold PSU。这里的“Gold”是指功率效率,即消耗的功率是多少作为热量浪费。

软件设置

硬件到位后需要安装支撑深度学习的软件了。具体细节keras文档有描述。

安装Ubuntu

大多数DL框架被设计为首先在Linux上工作,也支持其他操作系统。在Ubuntu安装期间,默认选项一般都能正常工作,尽量先默认安装选项。选择了以前的版本(16.04)。

接下来安装:

  • 支持GPU运算的深度学习驱动程序和深度学习软件包、

  • GPU driver — 操作系统支持GPU的驱动程序

  • CUDA — 支持GPU运行通用代码的驱动程序.

  • CuDNN —支持运行深度神经网络的算法程序

  • 安装Python3.6 通过Anacoda4.2的安装方式推荐

  • 安装Jupyter Notebook

  • 安装numpy,scikit-learn,scikit-image,pandas,matplotlib等(一般都安装好了)

  • 安装HDF5

  • 安装Tensorflow

  • 安装PyTorch

  • 安装Theano(可选,按吧有些案例是用的)

  • 安装Keras

  • 其他包,随用随按吧

Keras文档关于计算机的硬件配置说明- https://keras-cn.readthedocs.io/en/latest/for_beginners/keras_linux/

推荐配置

如果您是高校学生或者高级研究人员,并且实验室或者个人资金充沛,建议您采用如下配置:

  • 主板:X99型号或Z170型号

  • CPU: i7-5830K或i7-6700K 及其以上高级型号

  • 内存:品牌内存,总容量32G以上,根据主板组成4通道或8通道

  • SSD: 品牌固态硬盘,容量256G以上

  • 显卡:NVIDIA GTX 1080ti、NVIDIA GTX TITAN、NVIDIA GTX 1080、NVIDIA GTX 1070、NVIDIA GTX 1060 (顺序为优先建议,并且建议同一显卡,可以根据主板插槽数量购买多块,例如X99型号主板最多可以采用×4的显卡)

  • 电源:由主机机容量的确定,一般有显卡总容量后再加200W即可

最低配置

如果您是仅仅用于自学或代码调试,亦或是条件所限仅采用自己现有的设备进行开发,那么您的电脑至少满足以下几点:

  • CPU:Intel第三代i5和i7以上系列产品或同性能AMD公司产品

  • 内存:总容量4G以上

先可以玩玩Keras文档说明中的几个案例,都有详细的代码和说明。

一般我们也可以将这台配置的GPU电脑作为服务器,通过设置SSH Key和SSH tunnel用平时的苹果电脑远程访问进行深度学习算法建模,通过模型训练后将模型save后,在不带GPU的电脑调用load模型或weights模型,进行预测和分类。

这篇文章是看国外写的内容,我摘录了些内容,没有实际落实,现在还是CPU状态。

热文推荐

课程结合实例介绍使用TensorFlow开发机器学习应用的详细方法和步骤,着重讲解了用于图像识别的卷积神经网络和用于自然语言处理的循环神经网络的理论知识及其TensorFlow实现方法,并结合实际场景和例子描述了深度学习技术的应用范围与效果。 所有案例均来自讲师团队工作中的亲身实践,所选案例均是深度学习的经典应用,非常具有代表性。

环境搭建 | 深度学习爱好者如何配置带GPU电脑环境相关推荐

  1. PHP环境搭建:Windows 7下安装配置PHP+Apache+Mysql环境教程(转)

    转至:http://www.leapsoul.cn/?p=695 这两天刚装好Windows 7,碰巧前段时间有朋友问我Windows下如何安装搭建PHP环境,所以打算勤劳下,手动一步步搭建PHP环境 ...

  2. PHP环境搭建:Windows 7下安装配置PHP+Apache+Mysql环境教程

    来源:http://www.leapsoul.cn/?p=695 这两天刚装好Windows 7,碰巧前段时间有朋友问我Windows下如何安装搭建PHP环境,所以打算勤劳下,手动一步步搭建PHP环境 ...

  3. Keras搭建深度学习模型,指定使用GPU来进行模型的训练和测试

    https://blog.csdn.net/Together_CZ/article/details/79886982?utm_medium=distribute.pc_aggpage_search_r ...

  4. ubuntu搭建深度学习的docker环境

    安装支持CUDA的Docker工具 1.安装Docker # 安装系统工具 $ sudo apt-get update $ sudo apt-get -y install apt-transport- ...

  5. Linux:搭建深度学习环境配置教程

    搭建深度学习环境 1. 下载与安装anaconda wget是一个下载文件的工具 wget https://repo.anaconda.com/archive/Anaconda3-2019.10-Li ...

  6. 滴滴云服务器快速配置搭建滴滴云GPU云服务器搭建深度学习环境

    滴滴云GPU云服务器搭建深度学习环境 1.创建云服务器 1.1注册滴滴云 首先注册滴滴云,并进行实名认证,否则无法创建云服务器.点击"控制台",进入控制台页面. 1.2选择配置 点 ...

  7. 从零开始搭建深度学习服务器: 基础环境配置(Ubuntu + GTX 1080 TI + CUDA + cuDNN)

    从零开始搭建深度学习服务器: 基础环境配置(Ubuntu + GTX 1080 TI + CUDA + cuDNN) 首先先声明一下 这篇是转载来自  : 从零开始搭建深度学习服务器: 基础环境配置( ...

  8. Ubuntu18.04+RTX 2080Ti+CUDA 10.0 +cuDNN+PyTorch搭建深度学习环境

    SSH无密码登陆 安装SSH Server Ubuntu 默认已安装了 SSH client,此外还需要安装 SSH server: sudo apt-get install openssh-serv ...

  9. WindowServer2012R2+Anoconda3.5.0.1+CUDA9.0+cuDNN7.1.3+Tensorflow-gpu1.6离线搭建深度学习开发环境

    WindowServer2012R2+Anoconda3.5.0.1+CUDA9.0+cuDNN7.1.3+Tensorflow-gpu1.6离线搭建深度学习开发环境 关键词:Windows,Tens ...

最新文章

  1. AI、5G、小程序、AIoT纷纷迎来高峰,下一步开发者们要怎么办?
  2. Web应用漏洞评估工具Paros
  3. Spring bean加载多个配置文件
  4. Xtrabackup 安装使用
  5. Oracle 建立包 和 包体
  6. 在Java 7中处理文件
  7. java实现——客户端登录
  8. c++猜数字_用Excel玩数字炸弹,猜0-100你需要几次?
  9. wrong elf class: elfclass32_薇娅倾情推荐亿健ELF跑步机,价格优惠大还为粉丝争取福利! - 消费...
  10. 子目录 makefile make和clean
  11. VMware View4.5相关组件的日志存放路径
  12. 25 张图,一万字,拆解 Linux 网络包发送过程
  13. (附源码)php小型网络舆情平台设计的开发毕业设计252324
  14. MVC学习第七节 UrlHelper
  15. 微信公众平台接口调试工具json格式不对怎么搞_微信支付、支付宝最全接入指引,看完立刻就可以上手!...
  16. opengl平行光与点光源和光线强弱的衰减
  17. 安装DCOS,关于docker异常引发的调查
  18. 删除pdf文档中的批量水印
  19. axure8.1 授权码
  20. 冒泡排序 python内置_除了冒泡排序,你知道Python内建的排序算法吗?

热门文章

  1. poj 4124:海贼王之伟大航路
  2. Centos7安装trac手册
  3. 论Android产品高效开发之路
  4. ogr2ogr导入导出数据。
  5. 看到一个 cool sign
  6. 关于如何理解Glibc堆管理器(Ⅹ——完结、补充、注释——Arena、heap_info、malloc_*)
  7. java雪花_基于java实现的雪花算法
  8. 对 BFC 规范(块级格式化上下文:block formatting context)的理解?
  9. Android:修改默认音量等级
  10. 腾讯发布“天眼云镜”主机安全产品