ubuntu14.04.5 + 1080ti + CUDA8.0 深度学习服务器配置折腾手记
来源:互联网 发布:万方数据库和中国知网 编辑:程序博客网 时间:2024/06/14 15:04
本人末流211自动化系菜鸡小博一枚,因组内是研究机器学习的,所以一直想整台服务器提升工作效率。本系不是主干专业,比较穷,系里并不想给配一台深度学习服务器。但经过本人不断的找系主任,导师哭诉,最终还是申请了一台低配的服务器。倒腾了四天,参考了网上无数大神的博客,终于将深度学习环境搭建起来了,遂将配置过程记录,与广大未踩坑的同行分享一下经验。
1、服务器配置
平台:LT-7084GR-TR
CPU:Intel(R)Xeon(R) CPU E5-2630 v3 @ 2.40GHz * 2
内存:16GBDDR4 2133 * 2
硬盘:希捷2T
SSD:240G
显卡:GTX1080TI* 2
2、安装顺序
Ubuntu系统 + CUDA + 显卡驱动 + Anaconda + 各种深度学习框架
3、安装方法
(1) Ubuntu系统安装:
本机安装的是Ubuntu14.04.5版本,建议不使用Ubuntu16.04.3版本,本机安装这个版本后出现莫名卡顿,其他版本未知,根据安装后的实际效果决定是否选用。
本机通过U盘启动安装,系统从Ubuntu官网(http://www.ubuntu.org.cn)下载即可,文件下载下来是iso的镜像文件,准备一个空U盘,将其做成U盘启动盘。然后,将U盘插到服务器上,在启动时按F11(只是针对本服务器,其余设备看开机时的提示)进入BIOS界面,用U盘启动,接下来,将进入系统安装界面。
安装系统时,语言选成英文,易于在远程终端寻址,其余选项像时区,安装第三方软件什么的都可以随意,对于本服务器而言,不用刻意分区,直接选择将原来的数据抹去直接默认安装即可(若不是新机还是查找网上的自定义安装教程,因为这样会将硬盘中的数据抹去),但系统要选择安装在固态硬盘中。另外要注意的是,安装的时候需要填写用户名与密码,填写完后要记住,登录界面要用。总的来说,系统安装过程每一步都有提示,按部就班来就行。
(2) 配置一些东西:
先获取root权限,这样可以不用频繁的输入sudo来申请安装权限:若是后文的一些安装指令执行不了,如果不是拼写错误,就是没有开启root权限,可以在语句前加sudo再执行,或者使用下文我提到的方法。
登录设置的账户,输入Ctrl+Alt+T打开一个命令终端,在终端输入:sudo passwd root,这时命令中会提示设置密码,根据需要设置一个即可。注意,linux系统在输入密码时不会出现字符,跟没输入一样,输完密码直接回车就行。这样我们以后就能随时开启root权限了。之后,我们接着在这个终端输入su root,输入刚才设置的密码后root权限开启(注意,这是你新设置的密码,不是登录密码,当然,设置成一样的密码也可以)。我们安装一下SSH Server,以便以后远程连接,通过别的电脑控制这个电脑。输入apt-get installopenssh-server,等待安装完毕即可。
接下来还是在这个终端下,更换一下Ubuntu的源。先找到源的地址,输入:cd/etc/apt/,然后给以前的源做一个备份,输入:cpsources.list sources.list.bak,最后通过文本编辑器打开源文件,输入:geditsources.list。打开文件后,将文件中http://....../ubuntu/省略号中的内容删去,替换成mirrors.163.com(源的选择有很多,有中科大的,阿里云的等等,选一个就行,总之就是为了更新提速)。但注意的是,文件最后的几条保持不变,保持不变的我列在了下文:
deb http://security.ubuntu.com/ubuntutrusty-security main restricted
deb-srchttp://security.ubuntu.com/ubuntu trusty-security main restricted
deb http://security.ubuntu.com/ubuntutrusty-security universe
deb-srchttp://security.ubuntu.com/ubuntu trusty-security universe
deb http://security.ubuntu.com/ubuntutrusty-security multiverse
deb-srchttp://security.ubuntu.com/ubuntu trusty-security multiverse
deb http://extras.ubuntu.com/ubuntutrusty main
deb-src http://extras.ubuntu.com/ubuntutrusty main
替换好了以后,点击保存文件。然后更新源和更新已经安装的包:
sudo apt-get update
sudo apt-get upgrade
紧接着,再安装一些之后需要的包:
apt-getinstall vim ssh g++ freeglut3-dev libxmu-dev libxi-dev
到此为止,一些基本的配置工作结束了。(2) CUDA与显卡驱动的安装(重中之重,完全按照步骤来,不要随意发挥)
首先,根据你的显卡选择合适的驱动版本,这个可以通过NVIDIA的官方网站提供的http://www.nvidia.cn/Download/index.aspx?lang=cn进行驱动型号查询与下载,下载.run格式的驱动,我们下载的是NVIDIA-Linux-x86_64-384.69.run。
接着,网上搜索合适的CUDA版本,这个版本主要是根据深度学习框架的要求来选择,例如目前Tensorflow官网要求CUDA8.0,那么我们就下这个版本。过几年,这个应该会改变,到时候再更新。这次下载的CUDA的文件名是cuda_8.0.61_375.26_linux-run。再就是要下载cudnn,直接百度搜索cudnn,官网会给出对应不同的CUDA匹配什么版本的cundnn,选一个合适的即可,我们选的文件名是cudnn-8.0-linux-x64-v5.1.tgz(这个版本的cudnn只支持到tensorflow1.2,若要用最新的tensorflow,请下载cudnn6.0系列)。
下载工作准备好了,我们再次确认一下,是不是以下三个文件,并将这三个文件放到Downloads文件下:
cuda_8.0.61_375.26_linux-run
NVIDIA-Linux-x86_64-384.69.run
cudnn-8.0-linux-x64-v5.1.tgz
确认无误后进行下一步。
按ALT+CTRL+F1,进命令行,在login出输入root,回车后再输入你的root密码。接着输入:servicelightdm stop,关闭图形界面。再输入:
apt-get--purge remove nvidia-*,删除自带的显卡驱动。
接下来的这一步很关键,要禁用自带的显卡驱动,新建黑名单,禁止系统自带驱动:nanoetc/modprobe.d/blacklist-nouveau.conf,注意,nano是在命令端打开文件,用上下左右将光标移动到文件末尾,加上两行:
blacklistnouveau
optionsnouveau modset=0
然后按Ctrl+O保存,再按回车,然后再按Ctrl+X,退出这个文档。接着,再输入:update-initramfs-u,然后再输入:reboot以重启电脑。等待片刻,开机后,不要登录,直接在登录界面按ALT+CTRL+F1,直接进入命令行。在login出输入root,回车后再输入你的root密码。输入lspci| grep nouveau,如果啥都没显示的话,那就说明自带的显卡驱动禁用成功了。如果不成功,再试试,一定要禁用成功才能进入下一步。
输入servicelightdm stop,关闭图形界面。先后输入三句,安装CUDA:
cd/home/automation/Downloads # automation是我设置的账户名,读这个路径是因为我把下载的东西都放这里了
chmoda+x cuda_8.0.61_375.26_linux-run
./cuda_8.0.61_375.26_linux-run
安装开始有个说明,很长,按q跳过,之后有许多选项,都是接受,但是是否安装自带的375.26版本的驱动一定要选no。等待安装,安装完成后安装NVIDIA显卡驱动,输入:
chmod a+x NVIDIA-Linux-x86_64-384.69.run
./ NVIDIA-Linux-x86_64-384.69.run --no-opengl-files
不安装opengl因为可能会影响桌面登录,会陷入登录界面无限循环的境地,进入安装后一样会提示很多东西,提示是否升级X config配置文件选yes,其他都默认。
安装完成,下面开始给CUDA配置环境变量:
nano /etc/profile
打开文本,将光标移动到末尾,加上两句话:
export PATH=$PATH:/usr/local/cuda-8.0/bin
exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-8.0/lib64
然后按Ctrl+O保存,再按回车,然后再按Ctrl+X,退出这个文档。紧接着,输入:source /etc/profile,使文档生效。输入:which nvcc,看看环境变量生效没有。最后,编译一些算例可以验证安装是否成功:
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
make
./deviceQuery
至此,CUDA和显卡驱动安装完成,若是算例验证报错了,最后将这两个全部删除重新安装,卸载CUDA:
sudo/usr/local/cuda-8.0/bin/uninstall_cuda_8.0.pl
卸载NVIDIA驱动:
sudo/usr/bin/nvidia-uninstall
最后,我们再安装一下CUDNN:
cd/home/automation/Downloads
tar -zxvfcudnn-8.0-linux-x64-v5.1.tgz
cd cuda
cp lib64/lib*/usr/local/cuda/lib64/
cp include/cudnn.h/usr/local/cuda/include/
cd /usr/local/cuda/lib64/
chmod +r libcudnn.so.5.1.10
ln -sf libcudnn.so.5.1.10libcudnn.so.5
ln -sf libcudnn.so.5libcudnn.so
ldconfig
至此为止,深度学习需要的gpu加速工具差不多装好了,重启下电脑:reboot。稍等片刻后或许会发现分辨率怎么这么低!赶紧登陆下账号,看看能不能进系统,要是能进,好,那还有救。要是屏幕黑了一下,又回到登陆界面,那么你一定是在安装显卡驱动时没有严格执行:
./NVIDIA-Linux-x86_64-384.69.run --no-opengl-files
如果陷入无限循环,那只能Alt+Ctrl+F1进入命令行把CUDA和显卡驱动卸载了重新安装一遍。要是能进入系统,只是分辨率低,那么没问题,马上给出解决方案。
按Alt+Ctrl+F1进入命令行,root登录后(之前已经讲两遍了),输入:
nano /etc/X11/xorg.conf
打开这个文件,对照以下内容修改(只修改标红了的注释了的地方)
Section"Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Unknown"
HorizSync31.5 - 61.0 %这个地方修改
VertRefresh 50.0 - 75.0 %这个地方修改
Option "DPMS"
EndSection
Section"Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
EndSection
Section"Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes"1024×768" %原先没有这一句添加进去的
EndSubSection
EndSection
好的,改好后检查下Ctrl+O,回车,Ctrl+X退出文档编辑。输入:reboot,在重启一下电脑,这次,重启后分辨率就应该正常了。
(2) Anaconda以及各个深度学习框架配置
python就不要用自带的了,去Anaconda上下载一个Linux版本,python2还是python3自己选择,其实两个可以同时配置,具体方法网上很多。安装好了以后再安装一些深度学习框架,例如tensorflow,caffe,caffe2,pytorch,theano,mxnet等等,这些相比于之前安系统与CUDA简单太多,自己根据需要搜索吧,这里就不一一列举了,唯一要提示的是安装这些框架的gpu版本。
- ubuntu14.04.5 + 1080ti + CUDA8.0 深度学习服务器配置折腾手记
- 深度学习主机环境配置: Ubuntu16.04+Nvidia GTX 1080/980ti+CUDA8.0
- 深度学习主机配置:Ubuntu16.04+1080ti+cuda8+cudnn6+tensorflow1.3
- 深度学习框架caffe配置(ubuntu14.04+cuda8.0+cudnn v5.1 + caffe)
- 深度学习框架tensorflow配置(ubuntu14.04+cuda8.0+cudnn v5.1+anaconda2+tensorflow)
- Caffe深度学习框架安装(Ubuntu14.04+cuda8.0)
- ubuntu14.04+cuda8.0配置
- Ubuntu14.04配置CUDA8.0
- Ubuntu14.04安装CUDA8.0折腾之路
- 深度学习deep learning环境配置:GTX1080+CUDA8.0+cudnn5
- 深度学习环境配置:ubuntu16.04 + cuda8.0 + cudnn5.1
- Ubuntu16.04+GTX1050+CUDA8.0配置深度学习环境
- 深度学习系统搭建(Ubuntu14.04+cuda8.0+cudnn6.0+tensorflow1.3+opencv+pycharm)
- 深度学习第一天: ubuntu14.04+gtx1070+cuda8.0.md
- GTX1080+ ubuntu14.04+cuda8.0 配置安装
- Ubuntu14.04+Cuda8.0+QT配置
- 深度学习主机环境配置: Ubuntu16.04+Nvidia GTX 1080+CUDA8.0
- 深度学习主机环境配置: Ubuntu16.04+Nvidia GTX 1080+CUDA8.0
- poj 3625 Building Roads
- stm32学习笔记 F1系列外部中断EXTI
- TOP100summit 2017:亚马逊Echo音箱能够语音识人,华人工程师揭秘设计原理
- OpenCV3 椒盐噪声python语言实现
- 图片转Base64字符串经Http传输问题
- ubuntu14.04.5 + 1080ti + CUDA8.0 深度学习服务器配置折腾手记
- 【STM32】使用keil提供的JSON库——Jansson【转】
- 【P3927】SAC E#1
- 使用序列化实现对象的拷贝
- linux 命令行快捷操作
- iOS上线流程
- Swing中的自定义布局(绝对布局,null布局)
- 怎么做好饮料代理?如何发展市场
- python 装饰器实现单例