安裝ubunt18.04, cuda 10.0, cudnn7.6.5, anaconda3 总结了很多博客,全是干货

本文讲述了如何安裝ubuntu 18.04双系统,和配置cuda 10.0 、anaconda3深度学习环境。

1.安装ubuntu 18.04 双系统

1.制作ubuntu18.04的 U盘启动盘
从国内镜像下载ubuntu18.04的系统安装文件(.iso格式)
清华源:https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/18.04/
下载 ubuntu-18.04.4-desktop-amd64.iso 
如果你想使用服务器版本,下载 ubuntu-18.04.4-live-server-amd64.iso
安裝ubunt18.04, cuda 10.0, cudnn7.6.5, anaconda3 总结了很多博客,全是干货_第1张图片使用ultraiso 制作启动盘,详细教程如下:
https://blog.csdn.net/red_ear/article/details/80748146
https://blog.csdn.net/weixin_40554881/article/details/80625315

2.压缩磁盘,为安装ubuntu 腾出空间
  进入Windows系统,打开一个文件夹,右键此台电脑,选择管理,在弹出来的界面中点击磁盘管理器,右键某个比较大的硬盘,选择压缩卷,压缩出一定的空间,比如100G左右,压缩完之后,压缩出来的部分会显示“未分配”字样。

3.重启电脑,进入BIOS界面, 有些电脑是在开机后反复按“Del"键,有些是”ESC"键,一般开机界面最下面会有一行小字显示进入BISO需要按哪个键。
关闭 security boot, 这个选项一般在 Security 菜单栏里,将其设置为 “Disable” 。
设置你刚做好的启动盘U盘为第一启动项,退出并保存设置之后重启计算机。

4.重启之后将会看到你的U盘被启动了,把选项滑动到 “Install Ubuntu” 选项之后,按 “e”
找到 "quiet splash ___ " 将其改为 “quiet splash acpi_osi=linux nomodeset” 按 ctrl + “X” 进入安装界面。 如果不这样改,则会一直卡在 ubuntu 的Logo 界面,无法进入安装界面。

5.进入安装界面之后,选择语言、键盘布局等,到了选择安装类型时,选择 “其他选项”(中文版本) 或 ”Something else” (英文版本)进行磁盘分区。  
进入之后,我们会看见很多磁盘分区,其中就有你刚刚压缩出来的空白空间 (“空闲” 或 free space)。 选中此空间后,点“+”键进行分区,分区情况如下:

(1).挂载点 /boot 逻辑分区 空间起始位置 Ext4日志文件系统 建议分配300Mb左右
(2).Swap 区域,逻辑分区 空间起始位置 建议分配空间为系统内存的2倍。
(3).挂载点 / 主分区 空间起始位置 Ext4日至文件系统 把所有剩余的空间全部分配给它。 分配空间一定要大,因为你安装Cuda 等库都会放在这个区域,否则会导致因为空间不足而不能安装某些库。

ps. 有这三个分区就够了,有些教程还会让你给挂载点/home分配空间,其实没有必要。

6.完成磁盘分区之后,点击 Install Now ,点击确认, 然后等待安装完毕。安装完毕后会提示你重启电脑,点击重启(Restart)。

7.重启之后进入 系统引导界面 。把选项移到 Ubuntu 按 “e",找到 “quiet splash $vt_handoff" 在后面加上"acpi_osi=linux nomodeset" , 按”Ctrl +X" 或“F10"启动系统。 否则也会卡在Logo界面进不去系统。

8.更改分辨率,
sudo gedit /etc/default/grub
找到#GRUB_GFXMODE=800x600这行,把800x600改成你想要的分辨率,比如1920x1080,并去掉这一行前面的#,改后变为GRUB_GFXMODE=1920x1080 ,然后保存
打开终端用命令更新grub:sudo update-grub

9.一次性解决每次进入系统卡在logo界面,打开终端,输入:

sudo gedit /boot/grub/grub.cfg
在此文件中找到 “quiet splash $vt_handoff" 在后面加上"acpi_osi=linux nomodeset" ,内核版本较低的Ubuntu系统会找到3个,内核版本较高的Ubuntu系统会找到2个,保存后退出。
输入如下命令,修改此文件的权限。

sudo chmod +w /boot/grub/grub.cfg

如果不这么做,每次进入系统时都需要执行步骤7,修改Grub.cfg文件之后就可以一劳永逸了。

10.更改 apt-get 的源为国内源
备份原来的源:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
更换源:
sudo gedit /etc/apt/sources.list
把下面内容复制到文件中:

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse

最后执行更新源
sudo apt-get update

10.执行如下命令,安装必要的编译器。
sudo apt-get install build-essential

2.安装Cuda 10.0

不需要提前安装nvidia的显卡驱动,因为cuda 10.0的安装包可同时安装驱动和cuda。直接使用cuda 10.0的安装包同时安装驱动和cudatoolkit,这样做更加容易安装成功。
这篇博客把Cuda 官方的安装指南翻译了一下,照着做就行,我把容易忽略的地方再说一下。链接:https://blog.csdn.net/qlulibin/article/details/78714596

1.首先从官网下载Cuda 的安装文件( * .run) 文件,选择你想安装的版本,一般只需要下载第一个就行,补丁暂时就不管了。
https://developer.nvidia.com/cuda-toolkit-archive
安裝ubunt18.04, cuda 10.0, cudnn7.6.5, anaconda3 总结了很多博客,全是干货_第2张图片
2.检查系统内核版本的
uname -r
如果版本太高,就需要把内核进行降级。如果版本不匹配,安装会失败。 具体要求的内核版本见Installation Guide for Linux 文件,就在上图中最下一行。 此文件中的第一个表就说了要求的内核版本。
这是Cuda 10.0的版本要求表, Cuda10.0 要求ubuntu 18.04 的内核版本为4.15.0,我的系统的内核是5.0.3,需要进行降级。降级步骤如下:
安裝ubunt18.04, cuda 10.0, cudnn7.6.5, anaconda3 总结了很多博客,全是干货_第3张图片3.降低系统内核
首先在内核官网下载对应版本的内核文件
https://kernel.ubuntu.com/~kernel-ppa/mainline/
比如我们想把系统内核版本修改为 4.15.2 ,我们需要下载三个文件,分别为:

linux-headers-4.15.2-041502_4.15.2-041502.201802072230_all.deb
linux-headers-4.15.2-041502-generic_4.15.2-041502.201802072230_amd64.deb
linux-image-4.15.2-041502-generic_4.15.2-041502.201802072230_amd64.deb
安裝ubunt18.04, cuda 10.0, cudnn7.6.5, anaconda3 总结了很多博客,全是干货_第4张图片注意
  在内核版本4.17之前(不含4.17)你只需要3个软件包即两个header,一个image即可完成更新。而对于4.17之后版本,需要4个文件,两个header,一个image,一个modules,比如inux-modules-5.2.4-050204-generic_5.2.4-050204.201907280731_amd64.deb,否则在dkp步骤时候会提示缺少依赖项,没有modules文件!

下载完成之后,在三个文件所在文件夹打开一个终端,输入
sudo dpkg -i *.deb
按下回车输入密码后等待安装。
注意此文件夹中只能有其他以.deb 结尾的文件,否则会出错。

重启系统
reboot

进入系统引导界面后,选择第二个 ”Advanced Ubuntu option" ,你会看到有很多个选项,其中后面的数字就是内核版本号,其中有对于你刚才安装的内核版本的系统,选择那个系统进入。

进入系统后,输入
uname -r
即可发现系统内核版本正确。如果不经过 ”Advanced Ubuntu option" 而是进入引导界面后直接选第一个Ubuntu,然后回车,会发现系统内核还是原来的版本。
降低系统内核版本可参考博客:https://www.jianshu.com/p/0c2e7a530cfe

4.安装过程中需要停止 lightdm 服务,如果输入 sudo service lightdm stop 之后发现出现错误,比如“… not loaded’,那是因为没有安装lightdm ,需要手动安装。
sudo apt install lightdm
sudo dpkg-reconfigure lightdm
重启电脑。重启之后发现登录界面中输入密码的部分移到了左侧。未安装 lightdm 之前,”Alt + ctrl +F1"可能没有反应,无法打开命令行界面, 可以试试”Alt + ctrl +F4",安装lightdm之后,则可以使用”Alt + ctrl +F1" 进入命令行界面,亲测。

5.按照上面说的那个教程安装cuda,点这里

在询问是否安装 graphic driver 时要输入yes ,在询问是否安装 OpenGl files 时,选择 no ,其他均是 yes 或默认即可。

在上述教程中需要我们需要添加一个开机启动项,教程所述内容在Ubuntu18.04中不适用,在Ubuntu 18.04 需要这样设置:
启用服务
systemctl enable rc-local
创建 rc.local 文件, 把开机启动命令写入此文件中。
sudo gedit /etc/rc.local 
给rc.local加上权限
sudo chmod +x /etc/rc.local
启动服务并检查状态
sudo systemctl start rc-local.service
sudo systemctl status rc-local.service

6.安装cudnn
下载地址:https://developer.nvidia.com/cudnn
选择对应的cudnn进行下载
安裝ubunt18.04, cuda 10.0, cudnn7.6.5, anaconda3 总结了很多博客,全是干货_第5张图片cuDNN Runtime Library for Ubuntu18.04 (Deb)
cuDNN Developer Library for Ubuntu18.04 (Deb)
cuDNN Code Samples and User Guide for Ubuntu18.04 (Deb)

执行如下三个命令进行安装:

sudo dpkg -i libcudnn7_7.6.5.32-1+cuda10.0_amd64.deb
sudo dpkg -i libcudnn7-dev_7.6.5.32-1+cuda10.0_amd64.deb
sudo dpkg -i libcudnn7-doc_7.6.5.32-1+cuda10.0_amd64.deb

验证是否安装成功:
执行下述命令:

cp -r /usr/src/cudnn_samples_v7/ $HOME
cd  $HOME/cudnn_samples_v7/mnistCUDNN
make clean && make
./mnistCUDNN

如果最后出现 Test Passed! 说明安装成功。
如果不安装 libcudnn7-doc_7.6.5.32-1+cuda10.0_amd64.deb 则没有cudnn 的samples,也没办法进行验证。

3.安装Anaconda3

1.从国内镜像网站上下载Anaconda3的安装文件,点这里。
比如 Anaconda3-5.3.1-Linux-x86_64.sh
2.切换到文件所在文件夹,打开终端,执行

sudo sh Anaconda3-5.3.1-Linux-x86_64.sh

3.Anaconda 更换国内源
依次执行命令:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
如果你只想创建深度学习环境,一般添加这两个地址就可以了
其他备选地址:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --append channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/fastai/
conda config --append channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --append channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/

搜索时显示通道地址

conda config --set show_channel_urls yes

4. 将pip源设置为国内的镜像源,执行如下操作:
首先,新建目录
sudo -s
mkdisk ~./pip
gedit ~./pip/pip.conf

复制下面代码,并保存

[global]

  index-url = https://pypi.tuna.tsinghua.edu.cn/simple

5. 安装深度学习库
 首先创建环境

conda create -n *你打算创建的环境名称* python=3.7

一定要重建一个环境,新环境中包的量比较少,solve environment 时不容易出现奇奇怪怪的错误,如果在base环境中安装pytorch, 由于base中有很多其他的包,solve environment 时比较慢,而且可能出现下载包的版本和预期不同的情况

敲重点:

输入以下命令:
conda install pytorch=1.1.0 cudatoolkit=9.0
如果没有报错则cuda的版本是9.0
如果出现下述提示信息
在这里插入图片描述
则说明版本是10.0
需要将命令修改为
conda install pytorch=1.1.0 cudatoolkit=10.0

如果一直都在 solving environment  则,执行 conda upgrade --all更新所有包,但是这个操作会非常慢。如果你是在新创建的环境中安装pytorch,一般是不会出现这种,因为所有包都是新安装的,而且包的数量特别少。

4.后记

我自己的笔记本电脑以前一直配不好cuda,以前在ubuntu16.04 上面先安装的nvidia的驱动,再安装cuda,一直都整不好,我还写了个博客记录了一下当时安装过程,上次安装cuda和nvidia的驱动之后,勉强能运行程序了,但是网络不能反向传播,后来有一次晚上忘记关电脑了,第二天电脑就崩溃了,在grub引导界面中选择ubuntu后,屏幕一直黑着,尝试了好多个解决办法,总不能解决,后来痛下决心再次重装系统,后来通过cuda直接安装nvidia的驱动,并且将系统内核降级到官方安装指导书中要求的版本,这才安装成功了,网络前向传播和反向传播都没问题了。我觉得以前没安装成功的原因是系统内核版本不对,以前也没注意到这个细节,通过看别的博客发现,竟然还有这么一回事儿,更改系统内核之后直接安装成功。

期待本教程能够给你们带来一些帮助!

你可能感兴趣的:(安裝ubunt18.04, cuda 10.0, cudnn7.6.5, anaconda3 总结了很多博客,全是干货)