本文为配置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/ppasudo apt-get updatesudo 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:$PATHexport 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.tgzcd cudasudo 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下载

作者:人工智豪
链接:http://www.jianshu.com/p/5b708817f5d8
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

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

  1. 史上最全深度学习环境配置教程---适用于各种深度学习框架---Pytorh TensorFlow Keras-等和各种python环境

    鉴于我之前学深度学习,图像处理的时候走了很多弯路踩了很多坑的情况(其实主要是最近不想学习,想水一期博客),决定出一期深度学习环境配置的教程,因为我之前配置opencv的环境,TensorFlow的环境 ...

  2. Windows Server 2019服务器远程桌面服务部署+深度学习环境配置教程

    文章目录 1.安装Windows Server 2019 2.开启WLAN服务 3.固定IP地址 4.开启远程桌面服务 4.1 添加远程桌面服务 4.2 激活服务器 4.3 安装许可证 5.配置远程桌 ...

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

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

  4. Ubuntu 16.04+1080Ti机器学习基本环境配置【转】

    本文转载自:https://blog.csdn.net/MahoneSun/article/details/80808930 一.设置网络 机器有两张网卡,将当前正在使用的"有线连接1&qu ...

  5. 双系统Ubuntu22.04深度学习环境配置与踩坑记录

    双系统Ubuntu22.04深度学习环境配置踩坑记录 前言 目录 相关版本 主要参考教程 Ubuntu安装 Nvidia和CUDA安装 踩坑经历 官网安装所遇问题 cuDNN安装 Anaconda安装 ...

  6. 【深度学习环境配置】Anaconda +Pycharm + CUDA +cuDNN + Pytorch + Opencv(资源已上传)

    文章目录 一.推荐系列 1.1.大神视频详细讲解 1.2.最全最简易的保姆教程 1.3.百度网盘资源 二.环境配置 2.0.查看已安装软件的版本号 2.1.Anaconda安装 2.2.Pycharm ...

  7. Docker教程-深度学习环境配置

    最近在知乎上刷到一篇文章,标题很有意思叫<Docker,救你于「深度学习环境配置」的苦海>,感兴趣的可以去搜一下.那篇文章主要针对的是一个目前深度学习研究者的痛点:深度学习环境的配置.我在 ...

  8. ubuntu系统(八):ubuntu18.04双系统安装+ros安装+各种软件安装+深度学习环境配置全家桶

    0 说明 1.安装ubuntu18.04系统 1.1 ubuntu18.04镜像地址(可以用迅雷等下载): 1.2 下载Rufus: 1.3 制作镜像: 1.4 磁盘分区 1.5 关闭win11快速启 ...

  9. 基于Ubuntu 18.04机器人操作系统环境和深度学习环境配置

    基于Ubuntu 18.04机器人操作系统环境和深度学习环境配置详解 CUDA+Cudnn+ROS+anaconda+ubuntu装机必备 笔记本双系统安装 U盘启动项安装ubuntu18.04.1 ...

最新文章

  1. GitHub上YOLOv5开源代码的训练数据定义
  2. setTimeout、setInterval、promise、async/await的顺序详解(多种情况,非常详细~)
  3. day44前端开发1之html基础
  4. Microsoft Dynamics CRM 2011 JS操作集锦
  5. linux log4j 空文件,log4j在linux上不生成日誌文件
  6. Python进阶_wxpy学习:聊天对象
  7. NavigationController 已经洗干净了, 就等你来
  8. 大佬终于把鸿蒙OS讲明白了,收藏了!
  9. 鸿蒙系统下拉菜单,鸿蒙的js开发部模式17:鸿蒙的系统能力的应用模块
  10. STM8学习笔记---通过示波器分析串口数据
  11. c#与马扎克通讯_马扎克伺服报警
  12. uniapp接收服务器消息,uniapp如何请求服务器数据
  13. 利用比值判敛法求收敛半径的问题
  14. Mac outlook设置HTML,设置苹果MAC 端outlook客户端说明
  15. 【vue】Element Calendar 组件显示农历及节日
  16. C++——Hook教程[1]:虚函数表(VMT)Hook
  17. 2 Linux内核目录概述
  18. ArcGIS Pro出图去除底图的水印
  19. 爱站权重批量查询 查询爱站的seo权重
  20. 计算机导论二进制小数乘法,二进制计算

热门文章

  1. 一个产品人眼中的App邀请裂变机制
  2. 支付宝已支持给微信QQ好友转账
  3. 【社会化评论】“重要通知: 多说即将关闭”
  4. mate9 android8.0 rom,华为Mate9 8.0降级:EMUI8.0回退到EMUI5.0/安卓8.0降级7.0
  5. android百度地图 查询该公交站的公交信息
  6. 如何把Eclipse中安装的SVN中文插件转变为英文
  7. 阿里巴巴中国站按图搜索1688商品(拍立淘) API
  8. .Net Core IFormFile 始终为空的问题
  9. 程序员的诗---笑一笑
  10. 地形图完善建筑物属主、名称、楼层等