Ubuntu18.04+CUDA11.0+Cudnn+Pytorch1.7.0(GPU)
1.CUDA安装
1、系统要求
从表格可以查找系统对应的gcc与kernel版本表格来源:https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html
1)是否安装了gcc编译器,查看当前系统的gcc版本
gcc --version
信息显示
若没有安装请先安装,安装自行搜索
2)确认系统安装了满足要求的Kernel Header
# 查看系统正在运行的Kernel Header
uname -r
信息显示
该部分参考该博客内容:https://blog.csdn.net/ywdll/article/details/103619130
2、 查看显卡信息,有显卡是安装cuda的前提。
lspci | grep -i nvidia
信息显示
3、安装NVIDIA显卡驱动
注意:现在显卡驱动可以在CUDA安装包一起安装,但我的显卡驱动是提前装好的,所以具体安装自行查找,这里简略介绍涉及的一些信息。
显卡驱动下载可以参考该博客:https://blog.csdn.net/tanmx219/article/details/107591416
1)显卡具有推荐推荐的安装版本
ubuntu-drivers devices
信息显示
注意:红框(recommended)部分就是系统推荐安装的显卡驱动版本-390
2)查看安装显卡驱动后的显卡信息
nvidia-smi
信息显示
注意:图片显示安装的显卡驱动是高于推荐版本390的450,CUDA Version为11.0
4、开始安装
Table 2 来源
1)下载cuda安装包
从显卡信息显示可以看到安装的显卡驱动CUDA Version为11.0,所以下载CUDA Toolkit 11.0
CUDA官网下载:https://developer.nvidia.com/cuda-toolkit-archive
注:建议下载runfile(后缀为.run),deb是另一种类型的安装文件
2)禁用nouveau驱动
lsmod | grep nouveau
无输出可以直接进行下一步,但有输出则代表nouveau正在加载,需要手动禁掉nouveau
禁用方法可参考该链接博客内容,但我没有亲自尝试:https://blog.51cto.com/14204744/2464180?source=dra
3)进入该文件所在文件目录,给文件赋予执行权限
sudo chmod a+x cuda_11.0.2_450.51.05_linux.run
(上述命令不太懂有没有必要,但是执行了也没问题)
4)根据官网给的命令,运行run文件
sudo sh cuda_11.0.2_450.51.05_linux.run
第一步:continue
第二步:accept
第三步:选择需要安装的包
#安装选项,由于我已经安装有Driver: 450.80.02,所以没有选择。
│ CUDA Installer se Agreement
│ - [ ] Driver
│ [ ] 450.51.05
│ + [X] CUDA Toolkit 11.0
│ [X] CUDA Samples 11.0
│ [X] CUDA Demo Suite 11.0
│ [X] CUDA Documentation 11.0
│ Options
│ Install
#[ ]不选择,带X的是选择安装的部分,只有CUDA Toolkit 11.0是必选项,其他可选可不选
# Install进入下一步
————————————————
往下都是yes或者all install之类的,由于是在安装之后才写了说明文档,无图不再赘述
安装完成:安装中没有选择Driver,所以是Not Selected,若安装中也没有选择CUDA Samples 11.0,那么Samples那一栏也会显示Not Selected
5)添加环境变量
打开主目录下的.bashrc
文件在末尾添加这两行
export PATH=$PATH:/usr/local/cuda-11.0/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.0/lib64
注意:其他版本的cuda就要改一下cuda-xx.x
保存文件后,执行命令,使环境变量生效
source ~/.bashrc
6)验证CUDA是否安装成功
方法一:
nvcc -V
信息显示
方法二:编译samples例子
cd /usr/local/cuda-11.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
信息显示
出现Result = PASS
则表示安装成功通过
5、卸载CUDA
参考博客:https://blog.csdn.net/qq_33200967/article/details/80689543#_59
2.cuDNN安装
1)官网下载cuDNN:https://developer.nvidia.com/rdp/cudnn-archive
根据系统和CUDA版本选择安装包,8.0.3还是8.0.4影响不大,一般选择新的就可以
下载后对应文件为
2)按顺序输入
sudo dpkg -i libcudnn8_8.0.4.30-1+cuda11.0_amd64.deb
sudo dpkg -i libcudnn8-dev_8.0.4.30-1+cuda11.0_amd64.deb
sudo dpkg -i libcudnn8-samples_8.0.4.30-1+cuda11.0_amd64.deb
3)验证
cp -r /usr/src/cudnn_samples_v8/ ~/
cd ~/cudnn_samples_v8/mnistCUDNN
make clean && make
./mnistCUDNN
信息显示
Test passed!
表示成功
3.Anaconda安装
1)官网下载地址:https://www.anaconda.com/products/individual#download
清华镜像包下载地址:https://mirror.tuna.tsinghua.edu.cn/help/anaconda/
安装命令
sudo bash Anaconda3-2020.11-Linux-x86_64.sh
安装过程图可参考该博客:Ubuntu16.04下Anaconda3的安装
3.PyTorch安装
1、建议先创建一个虚拟环境
conda create -n pytorch1.7 python=3.7
# pytorch1.7 自定义的环境名称
# python=3.7 指定该环境下的python版本
conda info --envs # 查找虚拟环境
conda创建环境时可能报错:NotWritableError: The current user does not have write permissions to a required path
2、启动(激活)虚拟环境
conda activate pytorch1.7
信息显示
PS:退出当前虚拟环境命令
conda deactivate
查看所有的虚拟环境
conda info -e
删除虚拟环境
conda remove -n pytorch1.7 --all
3、安装
2022年3月22日更正,官网界面已无11.0选项,但其他页面有pytorch与CUDN版本对应的显示
2022.3.22添加版本链接https://pytorch.org/get-started/previous-versions/
在同一环境下建立了新的虚拟环境安装PyTorch,使用下图灰色部分的命令,同样需要如下方步骤3) 中检查列出的安装包版本是否与黑图中一致,不为cpu版本。
=下方为原内容不变==========================
1)官网链接
图3-1 官网下载界面
如果直接使用官方下载命令,一般很难成功安装,最后出现提示
An HTTP error occurred when trying to retrieve this URL.
HTTP errors are often intermittent, and a simple retry will get you on your way.
2)添加清华镜像
由于镜像网址时不时地有变动,最好搜索最新的清华镜像进行添加
参考1(讲得比较细)
参考2
参考3
综合了3个博客的信息,最后添加命令为
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/pytorch/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/peterjc123/
conda config --set show_channel_urls yes
.condarc
文件显示为
3)需要先查看官方涉及的下载包
命令是图3-1中的红框
conda install pytorch torchvision torchaudio cudatoolkit=11.0 -c pytorch
信息显示
关注pytorch安装包的版本
4)查看镜像给予的下载包
命令是图3-1中的黄框
conda install pytorch torchvision torchaudio cudatoolkit=11.0
注意:对比两种命令涉及的安装包版本,镜像命令下的安装包容易因为网址的不全、不能提供最新的安装包,导致pytorch会配cpu版本
镜像包的版本与官方一致后,再由Proceed([y]|n)?
选择y
进行安装
5)验证
#查看pytorch版本
import torch
print(torch.__version__)
信息显示
#查看是否是gpu版本
import torch
flag = torch.cuda.is_available()
print(flag)
信息显示
还可以选择pip离线安装PyTorch,不需要额外配置镜像
离线安装pytorch
ubuntu18.04离线安装pytorch