阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

如何搭建一台深度学习服务器

488次阅读
没有评论

共计 4146 个字符,预计需要花费 11 分钟才能阅读完成。

在计算机时代的早期,一名极客的满足感很大程度上来源于能 DIY 一台机器。到了深度学习的时代,前面那句话仍然是对的。

缘起
在 2013 年,MIT 科技评论将深度学习列为当年十大科技突破之首。其原因在于,模型有其为庞大的网络结构,参数够多,学习能力够强,能配合大数据达到惊人的效果。而且,能自动学习特征,避免了“特征工程”这种繁琐的手工劳动。对于图像、音频和文字处理领域有极大的意义。因为最近在尝试用深度学习做文本挖掘,所以需要一台深度学习服务器(相信我,如果用 CPU 来跑,你的人生显得好短)。

那么就有三个选择项:
A、购买组装好的服务器,例如 NVIDIA DIGITS DEVBOX
B、购买云服务,例如 Amazon 的 GPU 服务
C、自己攒一台深度学习服务器。
A 项从性价比上不合算,而且不一定买的到。B 项的云服务对于研究探索性质工作而言也比较贵,机器配置也不一定合适,所以我们就 C 项了。

硬件选择:基本思路是单显卡机器,保留升级空间

显卡选择:
先解释一点,深度学习为什么需要显卡计算?
GPU 是为大规模的并行运算而优化;
GPU 上则更多的是运算单元(整数、浮点的乘加单元,特殊运算单元等等);
GPU 往往拥有更大带宽的显存,因此在大吞吐量的应用中也会有很好的性能。
这里有一个很有趣的解释视频,解释了 GPU 和 CPU 的计算区别。

所以显卡选择最重要,因为准备基于 CUDA 计算(CUDA (Compute Unified Device Architecture) 是 NVIDIA 开发的 GPU 并行计算环境。),所以只能选择 Nvida 系列的。在英伟达产品系列中,有消费领域的 GeForce 系列,有专业绘图领域的 Quadro 系列,有高性能计算领域的 Tesla 系列,如何选择?

有论文研究,太高的精度对于深度学习的错误率是没有提升的,而且大部分的环境框架都只支持单精度,所以双精度浮点计算是不必要,Tesla 系列都去掉了。从显卡效能的指标看,CUDA 核心数要多,GPU 频率要快,显存要大,带宽要高。这样,最新 Titan X 算是价格便宜量又足的选择。

CPU 选择:
在深度学习任务中,CPU 并不负责主要任务,单显卡计算时只有一个核心达到 100% 负荷,所以 CPU 的核心数量和显卡数量一致即可,太多没有必要,但是处理 PCIE 的带宽要到 40。

主板选择:
需要支持 X99 架构,支持 PCIe3.0,还要支持 4 通道 DDR4 内存架构。如果要搞四显卡并行,PCIE 带宽支持要达到 40,并且支持 4 -Way NVIDA SLI 技术。

内存:
达到显存的二倍即可,当然有钱的话越大越好。

电源问题:一个显卡的功率接近 300W,四显卡建议电源在 1500W 以上,为了以后扩展,选择了 1600W 的电源。

机箱散热:
因为各种部件相当庞大,需要有良好散热功能的大机箱,选择了 Tt Thermaltake Core V51 机箱,标配 3 个 12cm 风扇。未来如果需要还可以加装水冷设备。

以上就是主要硬件环境的选择和安装。

软件环境安装:

主要安装了 Ubuntu 系统,CUDA 环境,以及 theano、keras 环境

1、安装 ubuntu 14.04(不要安装麒麟版本)
通过官网下载 iso 文件刻录 U 盘安装,在 SSD 硬盘上自动安装完成。
2、安装 cuda 7.5 deb 文件(自带显卡驱动)
2.1 获取 CUDA 安装包,在 NVidia 官网下载 local deb 文件。
2.2 执行如下命令安装:
    $ sudo dpkg -i cuda-repo-ubuntu1410-7-0-local_7.0-28_amd64.deb
    $ sudo apt-get update
    $ sudo apt-get install cuda
2.3 设置环境变量:sudo gedit /etc/profile
    $ export PATH=/usr/local/cuda-7.5/bin:$PATH
    $ export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATH
2.4 重启机器:用其中一个样例进行验证测试
    $ cuda-install-samples-7.5.sh ~
    $ cd ~/NVIDIA_CUDA-Samples_7.5/5_Simulations/nbody
    $ make
    $ ./nbody
    或者在 sample 目录中 make 测试项目 1_utility,再运行./deviceQuery

3、安装 python 以及 theano 工具
3.1 直接下载安装 anaconda 套件 64 位版本。
    下载后用 conda 升级到最新。anaconda 自带 openblas,使 numpy 和 theano 计算能达到最大效能
3.2 修改了 theano 配置文件,使之缺省由 gpu 运算
在主目录下新建.theanorc 文件
.theanorc 中输入下面的内容
[cuda]
root=/usr/local/cuda/bin/
[global]
floatX = float32
device = gpu0
[nvcc]
fastmath = True
3.3 安装完成后参考如下地址进行测试
THEANO_FLAGS=floatX=float32,device=gpu python `python -c “import os, theano; print os.path.dirname(theano.__file__)”`/misc/check_blas.py
3.4 安装 keras
    通过 anaconda 安装 pip install keras
    注意 keras 依赖的 theano 是 dev 版本的,需要从 github 下源码来安装。注意本系统此时有两个 python,所以要写路径
    sudo /home/user/anaconda/bin/python setup.py develop

4、设置远程服务器调用
4.1 安装 ssh,启动服务
4.2 设置 notebook server
在 ipython 中如下命令设置密码:
from IPython.lib import passwd
passwd()
记下生成的字符串。
创建一个 ipython 配置文件,比如起名叫 myserver
ipython profile create myserver
vim ~/.ipython/profile_myserver/ipython_notebook_config.py
编辑文件,加入下面几项:
c = get_config()
c.IPKernelApp.pylab = ‘inline’ #启动 inline 模式
c.NotebookApp.ip = ‘*’
c.NotebookApp.open_browser = False
c.NotebookApp.password = u’sha1:yourhashedpassword’  #把第二步的密码考进来
c.NotebookApp.port = 6868  #自己设一个端口号
启动服务
ipython notebook –profile=myserver

4.3 远程浏览器调用
远程中浏览器登陆 http://192.168.3.31:6868/,输入密码,即可进入 ipython notebook。
如果需要保持连接,则
nohup ipython notebook –profile=myserver
杀掉连接
lsof nohup.out
kill -9 “PID”

完工!

最后的硬件配置:
CPU: Intel X99 平台 i7 5960K
内存: DDR4 2800 32G(8G*4)
主板: GIGABYTE X99-UD4
显卡: GTX Titan X
硬盘: SSD+ 普通硬盘

系统和软件
操作系统: Ubuntu 14.04.3 x64
CUDA: 7.5
Anaconda 2.3
Theano 7.0
Keras 2.0

参考资料:
http://timdettmers.com/2014/08/14/which-gpu-for-deep-learning/
http://timdettmers.com/2015/03/09/deep-learning-hardware-guide/
http://graphific.github.io/posts/running-a-deep-learning-dream-machine/
http://docs.nvidia.com/cuda/cuda-quick-start-guide/index.html#ubuntu-x86_64-deb
http://deeplearning.net/software/theano/tutorial/using_gpu.html#cuda

之前网上找到另一种安装 theano 方式是自行安装组件。但尝试未成功,有可能是因为 CPU 等硬件不同,可能需要自行编译安装 openblas,numpy, scipy, theano 等环境,极为繁琐。最后还是直接用 Anaconda 方便。

Ubuntu 14.04 安装配置 CUDA  http://www.linuxidc.com/Linux/2014-10/107501.htm

Ubuntu 12.04 配置 NVIDIA CUDA5.5 实录  http://www.linuxidc.com/Linux/2014-10/107502.htm

Ubuntu 安装 Theano+CUDA  http://www.linuxidc.com/Linux/2014-10/107503.htm

关于 Ubuntu 12.04 下 CUDA5.5 的安装请参看如下链接 Ubuntu 12.04 安装 CUDA-5.5

Caffe 配置简明教程 (Ubuntu 14.04 / CUDA 7.5 / cuDNN 5.1 / OpenCV 3.1) http://www.linuxidc.com/Linux/2016-09/135016.htm

在 Ubuntu 14.04 上配置 CUDA+Caffe+cuDNN+Anaconda+DIGITS  http://www.linuxidc.com/Linux/2016-11/136775.htm

更多 Ubuntu 相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-12/138905.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计4146字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19350
评论数
4
阅读量
7959277
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
CSDN,你是老太太喝粥——无齿下流!

CSDN,你是老太太喝粥——无齿下流!

CSDN,你是老太太喝粥——无齿下流! 大家好,我是星哥,今天才思枯竭,不写技术文章了!来吐槽一下 CSDN。...
你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你 为什么要用宝塔跑分? 宝塔跑分其实就是对 CPU、内存、磁盘、IO 做...
终于收到了以女儿为原型打印的3D玩偶了

终于收到了以女儿为原型打印的3D玩偶了

终于收到了以女儿为原型打印的 3D 玩偶了 前些日子参加某网站活动,获得一次实物 3D 打印的机会,于是从众多...
在Windows系统中通过VMware安装苹果macOS15

在Windows系统中通过VMware安装苹果macOS15

在 Windows 系统中通过 VMware 安装苹果 macOS15 许多开发者和爱好者希望在 Window...
2025年11月28日-Cloudflare史诗级事故:一次配置失误,引爆全球宕机

2025年11月28日-Cloudflare史诗级事故:一次配置失误,引爆全球宕机

2025 年 11 月 28 日 -Cloudflare 史诗级事故: 一次配置失误,引爆全球宕机 前言 继今...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸 前言 作为天天跟架构图、拓扑图死磕的...
每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站 - 手机博物馆 -CHAZ 3D Experience 一句话介绍:一个用 3D 方式重温...
把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地 大家好,我是星哥,今天教大家在飞牛 NA...
国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号 AI 知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率 大家好,我是星哥,...
让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级 大家好,我是星哥,之前写了一篇文章 自己手撸一...