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版本。



阅读全文
1 0
原创粉丝点击