Ubuntu16.04 + 1080Ti深度学习环境配置教程

大白鲨,3卡1080Ti

前几天的GPU机器终于到货,配置了3张1080Ti显卡,详细配置清单文章可以看这里5700刀打造3卡1080Ti深度学习机器。本文为配置GPU深度学习机器的详细教程,包括显卡驱动安装,GUDA、CUDNN安装,深度学习框架安装等等,请按此教程从头一步一步设置,过程中遇到所有问题都可以在这些步骤中找到解决方案,最折磨人的就是环境配置,这次因为secure boot的问题导致驱动失效,郁闷了两三天……因此分享自己的经历,让大家少走弯路。

总体流程

  1. 安装Ubuntu16.04及显卡驱动

  2. 安装CUDA、CUDNN 英伟达GPU加速框架

  3. 安装深度学习环境

一、安装Ubuntu16.04及显卡驱动

安装ubuntu16.04系统就不详细解释,网上有相关教程,可以点这里,建议选择语言为英文。

这里详细说明显卡驱动安装流程:

安装显卡驱动的大致流程为:进入命令行终端 --> 禁用lightdm桌面服务 --> 安装驱动 --> 启用lightdm桌面服务 --> 重启进入BIOS关闭secure boot --> 重启电脑

最重要的步骤为:重启进入BIOS关闭secure boot,此步若不操作,驱动将不会起效!

  1. ubuntu系统安装完毕后,启动时会进入X桌面,可以用U盘将所有提前下载好的驱动、CUDA安装文件、CUDNN安装文件、anaconda3安装包等等文件拷贝到电脑中。

  2. 键盘上按下 ctrl + alt + F1,进入命令行模式。ubuntu有命令行模式和X桌面模式,安装驱动必须在命令行模式进行。

  3. 禁用X桌面服务,命令行输入:sudo service lightdm stop,此命令将关闭桌面服务,现在已经不能进入桌面模式(重启电脑会重启桌面服务)。

  4. 禁用nouveau驱动。ubuntu默认使用自带的nouveau驱动,在安装NVIDIA驱动前,要先禁止nouveau驱动,详细命令教程请点击这里,参考当中的“禁用nouveau驱动”部分。

教程截图:

5.添加ppa库,通过ppa安装显卡驱动,注意不要从NVIDIA官网下载显卡驱动,直接通过ppa安装即可:

sudo add-apt-repository ppa:graphics-drivers/ppa

sudo apt-get update

sudo apt-get install nvidia-381

由于本机显卡为GTX 1080Ti,截止到2017年7月7日,该显卡最新稳定版驱动版本为381.22,因此安装nvidia-381驱动。

安装驱动过程中,若提示各种操作,一般都按accept同意。如果某一步提示你是否Disable Secure Boot,选择ok,进行禁用secure boot。这时会要求你设置密码,直接输入12345678,再输一次确认。安装成功后,再次输入sudo apt-get install nvidia-381,会提示已经安装驱动。

但此时输入nvidia-smi会提示无此命令,驱动没有安装好。这个提示是正常的,因为我们实际上还没正式在BIOS禁用secure boot,现在先可以忽略这个警告。

二、安装CUDA

紧接着上一部分,我们可以预先下载好CUDA安装文件在桌面模式时放进电脑,下载地址点这里请务必下载runfile文件(后缀为.run),不能是其它文件。

或者可以用wget进行下载:

wget https://developer.nvidia.com/compute/cuda/8.0/Prod2/local_installers/cuda_8.0.61_375.26_linux-run

下载完毕后,输入:
sudo sh cuda_8.0.61_375.26_linux.run,进行CUDA安装。

安装过程中会提示你进行一些确认操作,首先是接受服务条款,输入accept确认,然后会提示是否安装cuda tookit、cuda-example等,均输入Y进行确定。但请注意,当询问是否安装附带的驱动时,一定要选N!我们在第一部分已经安装好最新的驱动,附带的驱动是旧版本的而且会有问题,所以不要选择安装驱动。

稍等片刻等待安装完成,这个时候可以使用此链接的教程,测试CUDA是否安装成功。截图如下:

最后是配置环境变量,此步很重要,不配置环境变量系统将无法知道CUDA是否被安装:

输入:sudo vi /etc/profile,在底部插入以下两句话:

export PATH=/usr/local/cuda-8.0/bin:$PATH

export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH

然后按esc键,按下“:wq”(注意不包含双引号,记得要包括冒号),然后回车退出。

最后输入:source /etc/profile,使设置生效。

以上步骤可以参考这篇文章:安装配置 Ubuntu 14.04 + CUDA8.0 + cuDNN v5 + caffe

三、安装CUDNN

CUDNN是NVIDIA用于加速深度学习的模块,装完CUDA之后就要装这个,可以预先在其它电脑下载完毕,然后复制到本机中解压。下载地址为:NVIDIA cudnn

注意要先注册NVIDIA账号,按确认条款后才能下载。

进入CUDNN存放的文件夹,输入:

tar -xzf cudnn-8.0-linux-x64-v5.1.tgz

cd cuda

sudo cp lib64/* /usr/local/cuda/lib64/

sudo cp include/* /usr/local/cuda/include/

CUDNN就这样安装完毕,现在重启lightdm服务,可重启桌面模式:

sudo service lightdm start

最后可以重启电脑了,马上进入第四步,禁用Secure Boot!

四、禁用Secure Boot【重要!】

ubuntu16.04有个重要的特性,就是如果需要安装第三方显卡驱动(NVIDIA的就是第三方显卡驱动),就必须在BIOS中禁用“安全启动”模式(secure boot),否则第三方显卡驱动将无法被启动!

当第三部分结束后,输入sudo reboot重启电脑,电脑重启的那一刻,按下F2或者DEL键进入华硕的BIOS,这里只以华硕X99-E WS主板为例,其它主板请参考各自进入BIOS的方式。

此步骤可以直接观看YouTube上的视频,Disabiling ASUS Bios Secure Boot,国内的朋友请翻墙观看,这里截了部分图用于说明过程。

1.进入BIOS,点击BOOT(启动)菜单栏,往下选择“Secure Boot”:

2.进入Secure Boot界面后,光标移动至“OS type”,选择为“Other OS”:

然后点击“Key Management”,进入界面。

3.选择“Clear Secure Root Keys”,删除安全启动密钥,删除后就能禁止secure boot。

按下yes或comfirm,确认删除:

4.按下F10,确认保存设置并重启电脑:

成功禁用secure boot之后,重启就能回到X桌面,Ctrl + Alt + T,调出命令行,输入nvidia-smi就能看见驱动信息:

恭喜你!已经成功安装显卡驱动和CUDA!你还可以输入nvcc -V来查看CUDA版本。

五、安装Anaconda

anaconda是一款python集成安装软件,里面包含了所有机器学习所需要用到的库,而且各种设置都自动设置妥当,无需人工安装其它依赖,请务必使用anaconda,否则手动配置环境的过程将会相当漫长痛苦!

anaconda的历史版本安装包可以在以下链接找到:Anaconda installer archive,这里选择Anaconda3-4.2.0-Linux-x86_64.sh,在本文写成(2017年7月7日)之时,tensorflow最高只支持python3.5和python2.7,因此选择此版本。

命令行cd到安装包存放地址,输入:Anaconda3-4.3.1-Linux-x86_64.sh安装anaconda,一路输入Y,确认操作就行。

配置环境变量,命令行中输入:sudo vi ~/.bashrc

在底部插入以下这一句:

export PATH=/home/ubuntu/anaconda3/bin:$PATH

然后输入:source ~/.bashrc,使设置生效。

可以输入conda list python查看python版本,其它详细命令可以查看以下链接:Anaconda使用总结

六、更换pip源、conda源和apt-get源

在使用apt-get安装ubuntu系统软件,或者使用pip或conda命令安装第三方python包时,由于镜像都在国外服务器,国内的朋友使用这些命令安装时会相当慢,因此需要更换这些镜像为国内镜像。

1.更换pip源:

cd到根目录,命令行输入:sudo mkdir .pip,新建一个名为“.pip”的文件夹。

创建pip配置文件:sudo vi ~/.pip/pip.conf,在vi界面中插入以下这句话:

[global]
index-url = https://pypi.douban.com/simple

然后按esc键,按下“:wq”(注意不包含双引号,记得要包括冒号),然后回车退出。

即可把pip源更新为国内豆瓣镜像,可参考这篇文章:pip 更换软件镜像源

2.更换conda源

除了可以pip安装之外,也可以使用conda install xxx来安装第三方python包,要更换为国内镜像,创建配置文件:
sudo vi ~/.condarc

加入以下几句:

channels:

- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

- defaults

show_channel_urls: true

然后按esc键,按下“:wq”(注意不包含双引号,记得要包括冒号),然后回车退出。

3.更换apt-get源

直接看这里:Ubuntu 14.04 更换阿里云源

备份旧版本:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak #备份

修改文件:

sudo vim /etc/apt/sources.list

在底部加入以下语句:

deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse

保存退出。

七、安装深度学习框架

1.安装keras:

pip install keras

2.安装tensorflow-gpu版本

pip install tensorflow-gpu

3.安装ssh

我们使用其他windows电脑来连接这台服务器,就要通过ssh进行连接,教程可以看这里:Ubuntu16.04安装openssh

安装ssh服务:

sudo apt-get install openssh-server

编辑配置文件:

sudo vi /etc/ssh/sshd_config

找到:PermitRootLogin prohibit-password,注释掉此项

添加:PermitRootLogin yes

执行命令:sudo service ssh restart

4.配置jupyter notebook

jupyter notebook是一个基于web的编程交互界面,我们主要使用jupyter来进行算法测试、模型建模,jupyter notebook在安装anaconda的时候就已经安装了,这里我们需要配置一些参数,使得我们用其它电脑连接这台主机的时候,可以在网页上打开这台主机的jupyter notebook。

详细教程可以看这篇文章:远程访问jupyter notebook

这里提醒一点,如果发现用Xshell或putty连接到GPU主机后,命令行输入:jupyter notebook,然后在浏览器上输入:“GPU主机的IP地址:8888”,若发现无法打开,则有可能是防火墙问题,禁止了jupyter的端口,可以在防火墙中通过端口,点击看这篇教程:Ubuntu默认防火墙安装、启用、配置、端口、查看状态相关信息

安装防火墙:

sudo apt-get install ufw

开启端口:

sudo ufw allow 8888

重启后若发现还是不行,那就有可能是因为你设置了网络代理,这时候要在你的浏览器设置取消全局代理:

上面的所有教程能解决jupyter notebook的设置问题,若还出现问题,请从头再查看一遍此部分教程。

八、设置开机启动进入命令行模式

我们要使用其他电脑来远程连接这台主机,就要设置开机进入命令行模式,设置只需一句命令,网上其它有关修改gurb的教程都不适用于ubuntu16.04:

sudo systemctl set-default multi-user target

重启后就能直接进入命令行模式了。

九、所有下载链接总结

CUDA下载

CUDNN下载

Anaconda下载

十、常见问题解答(TODO)

后面会写出一些在配置过程中出现的一些问题,请关注或收藏本文,后面会补全此部分。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,884评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,347评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,435评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,509评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,611评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,837评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,987评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,730评论 0 267
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,194评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,525评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,664评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,334评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,944评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,764评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,997评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,389评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,554评论 2 349

推荐阅读更多精彩内容