Ubuntu20.04系统安装,Nvidia驱动安装、CUDA10.2+CUDNN+Pytorch安装

ubuntu20.04系统安装后续工作以及pytorch深度学习环境配置方法记录

本文写于2020.9.5,近期为我的新电脑配置深度学习环境,遇到很多坑,在此记录一下,为以后再做类似工作的时候做一个参考。大家有类似需求也可以参考这篇文章。
近些天比较忙,先打一个框架出来,有空填坑加图。

系统安装问题简述

系统安装过程可自行百度,不同主板的设置不同,大体上注意secure(security) boot关闭,win10双系统的记得先关掉win10快速启动。戴尔系(包括戴尔自家和外星人等)的主板麻烦些,正打算配电脑的,强烈建议自行组装电脑,整机OEM主板坑巨多(尤其戴尔系的)。安装过程中,尽量不要选择开机自动登录,后期可能会出现循环登录问题。
之前试过安装18.04版本的系统,但是安装界面就花屏或者循环登录,所以干脆换到最新的20.04了。U盘装机的时候,grub界面选择有safe graphic的,装机过程中就不会花屏。

系统安装后

20.04安装完成重启后大概率花屏(看主板和显卡的兼容性),需要在grub界面的advanced ubuntu里进入recover mode进行修改。完成修改重启后,问题解决。
进入系统后,可以根据网络情况选择性更新系统,不过一定要换软件源,这边更换163的源还是挺稳的。此处参考link.
备份原软件源配置文件

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

修改源文件:

sudo gedit /etc/apt/sources.list

文件中添加以下内容(其中一套就够,这里推荐网易163):
163:

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

阿里:

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

清华:


# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

保存并关闭文件
终端输入:

sudo apt update
sudo apt upgrade

换源后,安装build-essential:

sudo apt-get install build-essential

这个包里包含了gcc、g++、make,是安装显卡驱动需要的。

英伟达显卡驱动安装

这里推荐安装最新的显卡驱动,我这几天一直在根据cuda推荐的显卡驱动版本进行安装,但是每次都有查不到的问题,使得cuda安装失败。本人尝试了很多路子都不行,最后发现只有最新版驱动才可以完美安装。
此处借鉴 link.
可能是英伟达跟linus关系好点了?我这次并不需要专门关闭图形界面就可以安装驱动了了,,,具体安装步骤如下:

安装显卡驱动

查看显卡

ubuntu-drivers devices

自动安装驱动

ubuntu-drivers autoinstall

这里还看不到驱动的不用急,后面重启后就没问题了,这里暂时不用重启。

禁用开源驱动

新建以下文件并编辑

sudo gedit /etc/modprobe.d/blacklist-nouveau.conf

添加

blacklist nouveau
options nouveau modeset=0

生成新的内核初始化文件

sudo update-initramfs -u

此处重启,输入

lsmod | grep nouveau

若没有输出,则成功禁用开源驱动。
输入

nvidia-smi

正常输出GPU情况,说明驱动安装成功,这里可以看到驱动版本以及对应的CUDA版本。注意:此处CUDA并未安装,其版本提示并无实际意义。还需继续安装自己需要版本的CUDA,其版本号需要参考自己需要的深度学习框架对应的CUDA版本号,而并不需要参考此处处处的CUDA版本号。

CUDA10.2+CUDNN7.6.5安装

这里推荐先查询自己需要的深度学习框架对应的cuda版本,例如pytorch1.5和1.6都支持cuda10.2,大家可以根据自己需求安装cuda,这里仅记录pytorch1.6和对应的cuda10.2的安装方法,其他版本大同小异。

GCC降级

上面的过程中,显卡驱动依赖gcc9,其在build-essential中一起装过。而这一节中的cuda10.2则依赖gcc7,需要在此处进行对gcc进行降级操作。终端输入:

sudo apt-get install gcc-7 g++-7

此处系统中存在两个gcc,分别是9和7,此时默认为9,这里需要将默认gcc改为gcc7。终端输入:

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 1
sudo update-alternatives --display gcc
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 9
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 1
sudo update-alternatives --display g++

可以修改并查看不同版本的gcc和g++的优先级。

CUDA安装

这里按照官网提供的步骤安装就好
Cuda10.2.
终端输入:

wget http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run
sudo sh cuda_10.2.89_440.33.01_linux.run

注意安装时不要再装驱动,把驱动选项上的X用回车点掉。
安装完毕后,添加环境变量:
打开.bashrc文件:

gedit ~/.bashrc

在文末添加

export PATH=/usr/local/cuda-10.2/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

保存并关闭文件,更新环境:

source ~/.bashrc

CUDNN安装

官网.下载,期间需要登录才可以下载。下载与cuda对应的cudnn版本即可,此处选择了7.6.5。
终端到下载路径解压缩

tar -xzvf cudnn-10.2-linux-x64-v7.6.5.32.tgz

将文件复制到cuda下:

cp cuda/include/cudnn.h /usr/local/cuda/include
cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

完成安装

Pytorch1.6安装

首先安装Anaconda3,这边不建议太新的,用5.2或5.3足够了,特别新的对应的python版本也比较新,有的py第三方包可能不支持。注意安装时需要加path,VSCode根据个人喜好安装。(个人觉得捆绑安装不如自己安装,后面会说单独安装VSCode的配置方法)
conda安装pytorch方法非常简单,由于国内网络问题,建议使用清华源进行下载安装。
此处参考link.
终端输入:

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 --set show_channel_urls yes
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda install pytorch torchvision cudatoolkit=10.2

P.S. 此处最后一句话并未给pytorch和torchvision版本限制,是因为此时此刻pytorch1.6就是最新版,命令中不加版本号默认为最新版,需要旧版的朋友可以加上版本号。请注意pytorch和torchvision版本号一般不同,需分别查询二者对应的版本号。
安装后可以用torch.cuda.is_available()验证gpu是否可用。python脚本如下:

import torch
import torchvision
torch.cuda_availible()

如果没有报错则安装成功,如果输出True则GPU可以正常使用。

系统安装后一些小Tips

双系统时间问题:

在终端输入:

sudo timedatectl set-local-rtc 1 --adjust-system-clock

重启回到win改回当前时间,问题解决。

中文输入法问题:

在设置中的Region & Language中的Input Sources中,添加Chinese,在点击Manage Installed Languages,跟着提示安装就好。重启一次后,回到Input Sources中添加Chinese(Intelligent Pinyin)就可以输入中文了。(当然也可以选择五笔~)

VSCode安装和配置:

独立安装VSCode的话,可以直接上VSCode官网下载.deb版的安装包,在下载路径下直接打开终端,输入:

sudo dpkg -i ./安装包文件名

即可直接进行安装。
安装完成后,打开VSCode,点击左侧边栏中的extensions,在里面找python插件(一般就按热度排序第一个或者前几个就是),点击install,等待插件安装完成。
点击上方菜单栏file->preferences->settings,搜索python.pythonpath,把你的anaconda的bin文件夹的路径加进去,如:/home/xxx/anaconda3/bin
这时就可以直接使用VSCode调用anaconda来编译你的python代码了。

  • 9
    点赞
  • 86
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值