Anaconda、CUDA、cuDNN和PyTorch包的安装
本文最后更新于 2024年7月12日 下午
本文主要分享了Linux(Ubuntu 18.04)下Anaconda、CUDA、cuDNN和PyTorch包的安装。
Anaconda
查询
1 |
|
安装
-
更新软件包列表。
1
2sudo apt update # 更新软件包列表,检查可用的软件包更新
sudo apt upgrade # 安装可用的软件包更新 -
安装第三方库。
1
sudo apt-get install libgl1-mesa-glx libegl1-mesa libxrandr2 libxrandr2 libxss1 libxcursor1 libxcomposite1 libasound2 libxi6 libxtst6
-
查询系统架构。
1
uname -a # 查询系统架构
-
安装Conda。
https://docs.anaconda.com/anaconda/install/linux/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26# Step 1.更换终端 Shell
# https://stackoverflow.com/questions/40370467/anaconda-not-found-in-zsh
cat /etc/shells # 查看系统安装了的shell
echo $SHELL # 当前的shell
chsh -s /bin/bash # 切换回 bash 终端
# Step 2.下载安装 Anaconda3
# https://www.anaconda.com/
# https://repo.anaconda.com/archive/
curl -O https://repo.anaconda.com/archive/Anaconda3-<INSTALLER_VERSION>-Linux-x86_64.sh
bash Anaconda3-2023.09-0-Linux-x86_64.sh
# 认真看安装过程提示信息,需要按Enter (回车键)或者输入yes,(如果输入yes时,不小心输多了,就按control和退格键删除)。
# 看到 more 就是按空格键翻页查看协议,按 q 退出。
# Anaconda 建议您接受默认安装位置。请勿将 Anaconda/Miniconda 安装路径选择为 /usr 。
# 使用 CTRL+C 取消安装。
You can undo this by running `conda init --reverse $SHELL`? [yes|no]
yes
# 安装软件完成后需要重启
source ~/.bashrc
# 检查conda是否安装成功
conda --help # 调用出来说明安装成功
# Step 3.更换回终端 Shell
chsh -s /bin/zsh # 切换回 zsh 终端 -
完成。
配置
可以通过配置auto_activate_base
关闭自动进入conda基础环境:
1 |
|
如要开启,将其设为true
就可以了:
1 |
|
NVIDIA显卡驱动
查询驱动
1 |
|
安装驱动
图形界面(推荐)
打开应用程序界面,选择“软件和更新(softwares and updates)”-附加驱动,在此处选择“使用NVIDIA driver metapackage来自nvidia-driver-版本号(专有)”。
一般安装版本号最大的那个。
如果刚装好系统,应该会使用底下那个nouveau,nouveau不是英伟达提供的,是民间大佬写的适配英伟达显卡的驱动,只是浏览屏幕的话够用,但我们要深度学习,就需要使用英伟达的驱动了。
命令行
系统自带
1 |
|
如果没有遇到报错,说明安装成功,此时调用nvidia-smi
指令可能还是看不到显卡信息,不要担心,sudo reboot
重启系统之后就能看到了。
run
文件安装
如果在系统自带的方式中ubuntu-drivers devices
找不到可用的版本,可以使用以下方法:
-
安装依赖项:
1
2
3sudo apt-get update
sudo apt-get install gcc
sudo apt-get install make -
在英伟达的官网上查找你自己电脑的显卡型号然后下载相应的驱动,例如:
NVIDIA-Linux-x86_64-450.57.run
。下载后的run
文件拷贝至home
目录下(可选?)。 -
在Ubuntu下按
Ctrl+Alt+F1
进入命令行界面(如果是服务器本来就没有图形化界面的话这一步就不必了?)。-
如果出现
unit lightdm.service not loaded
,则:1
2sudo apt-get update
sudo apt-get install lightdm -
安装后会跳出一个界面,选择
lightdm
。 -
重启:
1
sudo reboot
-
重启登录后
Ctrl+Alt+F1
进入命令行界面。
-
-
输入用户名和密码登录后输入:
1
2
3sudo service lightdm stop # 这个是关闭图形界面,不执行会出错。or
sudo /etc/init.d/lightdm stop
sudo /etc/init.d/lightdm status对于其他的 Linux 版本,如果桌面系统是基于 gdm 类型,应该把命令中的 lightdm 改为 gdm 即可。
非这两种桌面系统类型的,自行搜索一下你的Linux版本关闭 X 服务的相关命令吧。
-
关闭了 X 服务后图形桌面可能会关闭,因为我是通过 ssh 连接的服务器进行的操作,所以也没有看到具体的变化,然后输入一下命令:
1
2ps aux | grep X # 查看还有没有X服务的进程,若有直接sudo kill -9 进程号 杀死X服务进程即可
sudo kill -9 [‘pid’] -
卸载掉原有驱动(如果装过的话)。
-
安装:
1
2
3cd home
sudo chmod a+x NVIDIA-Linux-x86_64-396.18.run # 给驱动run文件赋予执行权限
sudo ./NVIDIA-Linux-x86_64-396.18.run -no-x-check -no-nouveau-check -no-opengl-files-no-x-check
:安装驱动时关闭X服务-no-nouveau-check
:安装驱动时禁用nouveau-no-opengl-files
:只安装驱动文件,不安装OpenGL文件。只有禁用opengl这样安装才不会出现循环登陆的问题
- The distribution-provided pre-install script failed! Are you sure you want to continue?
Yes
- Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later?
No
- Nvidia’s 32-bit compatibility libraries?
No
- Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up.
Yes
-
报错处理:
-
ERROR: Unable to load the kernel module 'nvidia.ko'.
可以尝试将-no-opengl-files
替换为--add-this-kernel
。 -
ERROR: Unable to load the kernel module 'nvidia-drm'.
此问题是由于之前安装过驱动的残留所致。卸载掉原有驱动 -
Error:Unable to load the 'nvidia-drm' kernel module .
出现这个问题最有可能的原因是你安装的Ubuntu是UEFI模式启动的,但是在BIOS中却打开了Security BOOT选项。正确做法是禁用该选项,具体方式请自行搜索。 -
An NVIDIA kernel module 'nvidia-uvm' appears to already be loaded in your kernel.
如原文所述,'nvidia-uvm'程序因故未退出导致按照无法正常进行,直接:1
2sudo lsof | grep nvidia.uvm
# 查看哪些程序在占用nvidia.nvm就可以了,可直接通过 sudo kill -9 [`pid`] 杀死相对应的进程即可对于一些 kill 杀不死的进程可直接重启服务器。
如果还是存在错误,那么就需要查看是否卸载了之前的驱动。
-
-
安装完毕之后执行:
1
2modprobe nvidia # 挂载Nvidia驱动
nvidia-smi # 检查驱动是否安装成功此时调用
nvidia-smi
指令可能还是看不到显卡信息,不要担心,sudo reboot
重启系统之后就能看到了。 -
开启图形界面,重启:
1
2sudo service lightdm start
sudo reboot -
安装完毕。
卸载驱动
首先,打开应用程序界面,选择“软件和更新(softwares and updates)”-附加驱动,在此处选择“使用X.Org X server-Nouveau display driver来自xserver-Xorg-video-nouveau(开源)”。
然后,开始卸载:
1 |
|
之后重新安装NVIDIA驱动即可。
禁用nouveau
应该先装完Nvidia驱动,再在“软件与更新”里面更改驱动,最后再禁用。直接禁用后重启相当于没有驱动了,开机图形化界面进不了。
1 |
|
无法进入图形化界面
如果重启后无法进入图形化界面,则强制重启电脑,在BIOS引导界面不直接进入Linux系统,而是进入Advance options for Ubuntu,并选择进入其中一个内核(最好是备用内核),过段时间左上角会出现“_”符号,按住Ctrl+Alt+F2,进入终端,输入用户名和密码,随后卸载所有驱动,清除缓存,重新安装驱动并重启即可。指令如下:
1 |
|
CUDA
全称:CUDA Toolkit
不安装CUDA也可行,在虚拟环境中安装pytorch的时候会自动装一个不完整的CUDA,足够跑深度学习了。只不过用deepspeed的时候会报错找不到CUDA_HOME。但是如果需要CUDA编程等操作就需要安装完整版的CUDA。
特定版本的CUDA会对NVIDIA显卡驱动有最低版本要求,一般来说装最新的驱动即可,会向下兼容。
(GPU加速的、而不是CPU)CUDA、PyTorch和Python版本并不是一一对应的关系。因此,在选择要安装的CUDA版本时,建议根据环境要求的Python和PyTorch版本在这里或这里提前确定兼容的CUDA版本。
如果CUDA版本太高,没有相应的PyTorch支持。就需要按照PyTorch版本去降低CUDA的版本。
查询
1 |
|
记住系统此时使用的显卡驱动版本,可以使用
nvidia-smi
命令查看,可以打开应用程序界面,选择“软件和更新(softwares and updates)”-附加驱动-“使用NVIDIA driver metapackage来自nvidia-driver-版本号(专有)”。
安装
-
安装依赖库。
1
2
3
4
5# 安装相应的依赖库
sudo apt update # 更新 apt
sudo apt install build-essential
sudo apt install cmake gcc g++ make
sudo apt install libglu1-mesa libxi-dev libxmu-dev libglu1-mesa-dev freeglut3-dev -
(可选)降低gcc和g++版本。
gcc9、g9版本太高,会导致CUDA无法安装,因此要先降低gcc、g版本到7及以下。
1
2
3# 查询版本
gcc -v
g++ -v -
下载安装。
1
uname -a # 查询系统架构
在 CUDA Toolkit 的下载页面选择系统版本和安装方式,得到官网的下载指示。
主页:https://developer.nvidia.com/cuda-toolkit
历史版本:https://developer.nvidia.com/cuda-toolkit-archive
- 使用
*.deb
安装CUDA,会自动新装显卡驱动,容易出现显卡驱动冲突的问题(当然,可以解决)。 - 使用
runfile
进行安装可以在安装前选择不安装显卡驱动。但后续以*.deb
形式安装其他框架时(例如TensorRT),会提示需要使用*.deb
安装的CUDA。 - 想要[CUDA多版本共存](# CUDA多版本共存)需要使用
runfile
进行安装。 - 所以,使用
runfile
进行安装更方便、安全;使用*.deb
安装更长远?
如果使用
wget
命令下载大文件过程中报错 segmentation fault (core dumped),那还不如直接复制网址下。-
*.deb(local)
版本:1
2
3
4
5
6
7
8
9
10
11cd DownloadFolder
# 以下为官网的下载指示
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda-repo-ubuntu1804-11-8-local_11.8.0-520.61.05-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1804-11-8-local_11.8.0-520.61.05-1_amd64.deb # 安装本地仓库,使得通过APT包管理器安装cuDNN相关包成为可能
sudo cp /var/cuda-repo-ubuntu1804-11-8-local/cuda-*-keyring.gpg /usr/share/keyrings/ # 通过导入GPG密钥,系统能够验证从本地仓库安装的软件包是经过NVIDIA官方签名的
sudo apt-get update # 刷新APT的包列表,准备安装新的软件包
sudo apt-get -y install cuda -
*.run
版本:1
2
3
4
5
6cd DownloadFolder
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
sudo sh cuda_11.8.0_520.61.05_linux.run
# 官网除了提供主程序可能还有补丁,这些补丁需要安装基本安装程序后再安装
sudo sh cuda_10.2.1_linux.run # 可选
sudo sh cuda_10.2.2_linux.run # 可选-
安装显卡驱动会默认安装对应版本的CUDA,此时会提示已经存在CUDA(Error installing Cuda toolkit: Existing package manager installation of the driver found)。继续安装(continue)
-
是否接受协议。接受(accept)
-
出现一系列安装提示。不安装显卡驱动(在“Driver”选项处按下Enter,取消X号,表示不选择);Kernel Objests-nvidia-fs保持默认不勾选;其它(CUDA Toolkit 11.8、CUDA Demo Suite 11.8和CUDA Documentation 11.8)保持勾选。
-
是否生成/更新动态链接
/usr/local/cuda
(当你已经有该软链接时,会有此提示)。更新(Yes)如果出现动态链接库链接不到的情况,手动建立软连接:
1
sudo ln -sf /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcudnn.so.7.4.2 /usr/local/cuda-9.0/targets/x86_64-linux/lib/libcudnn.so.7
安装好 CUDA Toolkit 后,屏幕上将输出(示例):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20===========
= Summary =
===========
Driver: Not Selected
Toolkit: Installed in /usr/local/cuda-11.8/
Samples: Installed in /home/lll25655/
Please make sure that
- PATH includes /usr/local/cuda-11.8/bin
- LD_LIBRARY_PATH includes /usr/local/cuda-11.8/lib64, or, add /usr/local/cuda-11.8/lib64 to /etc/ld.so.conf and run ldconfig as root
To uninstall the CUDA Toolkit, run cuda-uninstaller in /usr/local/cuda-11.8/bin
Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-11.8/doc/pdf for detailed information on setting up CUDA.
***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 520.00 is required for CUDA 11.8 functionality to work.
To install the driver using this installer, run the following command, replacing <CudaInstaller> with the name of this run file:
sudo <CudaInstaller>.run --silent --driver
Logfile is /var/log/cuda-installer.log这表示 NVIDIA Driver 和 CUDA Toolkit 已安装完毕。后半段安装信息提示我们修改环境变量的 PATH 和 LD_LIBRARY_PATH.
-
- 使用
-
配置。
1
2
3
4
5
6
7
8
9
10
11
12
13
14sudo gedit ~/.bashrc # 使用gedit文本编辑器打开.bashrc
# (按照实际提示/本地路径)输入:
# CUDA
# add nvcc compiler to path
export PATH=$PATH:/usr/local/cuda-11.8/bin
# add cuBLAS, cuSPARSE, cuRAND, cuSOLVER, cuFFT to path
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.8/lib64
# export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-11.8 # CUDA路径前有冒号好像会报错
export CUDA_HOME=/usr/local/cuda-11.8 # or
# export CUDA_HOME=/usr/local/cuda
# 保存,关闭
source ~/.bashrc环境变量 PATH 设置可执行程序的搜索路径,LD_LIBRARY_PATH 设置动态链接库的搜索路径。
-
测试。
1
2
3
4
5
6# 检查是否安装了CUDA
ls -l /usr/local | grep cuda
# 查看自己安装的cuda版本
nvcc -V
cat /usr/local/cuda/version.txt # 使用deb安装的好像没有该路径。or
cat /usr/local/cuda/version.json可以在路径
/usr/local/cuda-[version]/extras/demo_suite
下找到一些样例程序,运行:1
2
3cd /usr/local/cuda-11.8/extras/demo_suite
./deviceQuery # 输出结果包含Result = PASS 说明OK
./bandwidthTest # 输出结果包含Result = PASS 说明OK使用deb安装的CUDA从CUDA-11.6开始cuda toolkit就不自带cuda-samples了,可以自行安装:
1
2
3
4
5
6
7
8
9cd yourFloder
git clone https://github.com/NVIDIA/cuda-samples.git
cd cuda-samples/Samples/1_Utilities/deviceQuery # cd <sample_dir>
make clean # (可选)清除之前编译生成的文件(如果有)
make
./deviceQuery # 即可显示GPU信息
sudo cp deviceQuery /usr/local/bin/ # 你可以将 deviceQuery 文件复制到 /usr/local/bin/ 目录中,这样你就可以在任何地方直接运行它
# 然后就可以放心删除clone到本地的cuda-samples文件夹了。在任意位置打开terminal,都可以直接运行deviceQuery 命令查看GPU信息 -
检查显卡驱动(尤其是使用
*.deb
方式进行安装的)。1
nvidia-smi
如果正常,最好。如果报错:Failed to initialize NVML: Driver/library version mismatch,这是因为
*.deb
自动安装了其它版本号的显卡驱动,而自动卸载了之前的显卡驱动,此时运行:1
2sudo dpkg --list | grep nvidia
# 可以看到既有之前的版本号也有新增的,而且之前的那几个包的状态都变成了rc,这意味着这个包刚被remove卸载了,但是还残留着配置文件configurations,其他新增的的包状态都是ii,意味着这个包刚被install安装,而且已经installed装好了。可见目前的驱动软件其实已经变成了新增的,但是为什么
nvidia-smi
还是会报错呢?这是因为,软件变新增的了,但是系统的配置文件还保持着之前的,执行:1
cat /proc/driver/nvidia/version # 可以看到输出的驱动版本还是之前的
所以,下面要做的事就是卸载所有显卡驱动软件包,再重装之前的显卡驱动:
1
2
3
4
5
6
7
8sudo apt-get --purge remove nvidia-*
sudo apt-get purge nvidia*
sudo apt-get purge libnvidia*
sudo dpkg --list | grep nvidia # 验证一下有没有卸载干净,输出为空,表示全部卸载了
# (非必要不重启,万一进不了系统了),再打开“软件与更新”,会发现显卡驱动又回到了而nouveau。执行
cat /proc/driver/nvidia/version # 会发现文件目录不存在,说明真的卸载干净了
# 残留几个包实在卸载不掉也行?最后,打开应用程序界面,选择“软件和更新(softwares and updates)”-附加驱动,在此处选择“使用NVIDIA driver metapackage来自nvidia-driver-版本号(专有)”(之前使用的那个版本号最保险)。
如果此时运行
nvidia-smi
还没有结果,重启一下就好了(最好在重启前备份重要文件,以防万一)。如果重启后无法进入图形化界面,则强制重启电脑,在BIOS引导界面不直接进入Linux系统,而是进入Advance options for Ubuntu,并选择进入其中一个内核(最好是备用内核),过段时间左上角会出现“_”符号,按住Ctrl+Alt+F2,进入终端,输入用户名和密码,随后卸载所有驱动,清除缓存,重新安装驱动并重启即可。指令如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19# 卸载所有驱动
sudo apt-get --purge remove nvidia-*
sudo apt-get purge nvidia*
sudo apt-get purge libnvidia*
# 清除缓存(慎用)
sudo apt-get autoremove
# 重新安装驱动
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
ubuntu-drivers devices
# 找到最适合的驱动安装,安装recommended标记的,通常也是数字版本最大的那个
# 最好安装系统之前的那个
sudo apt install nvidia-driver-XXX
# 也可以自动安装系统推荐那个
sudo ubuntu-drivers autoinstall
reboot # 重启 -
完成。
卸载
https://docs.nvidia.com/cuda/cuda-installation-guide-linux/
*.deb(local)
版本安装
1 |
|
最后,别忘了删除安装CUDA第5步在
~/.bashrc
增加的3行export
语句。
验证:
1 |
|
*.run
版本安装
1 |
|
最后,别忘了删除安装CUDA第5步在
~/.bashrc
增加的3行export
语句。
验证:
1 |
|
如果上面的方法不行,再是试试下面的方法:
1 |
|
CUDA多版本共存
需要使用*.run
版本安装的CUDA,通过改变软链接的方式切换CUDA版本。
1 |
|
cuDNN
查询
1 |
|
安装
全称:CUDA Deep Neural Network library
https://docs.nvidia.com/deeplearning/cudnn/latest/installation/linux.html
-
下载安装。下载地址
1
2nvcc -V # 查看自己安装的CUDA版本
uname -a # 查询系统架构注意,cuDNN的下载需要先登录NVIDIA账户,没有则要注册,此步需要耐心。
-
*.deb
版本(对应使用*.deb(local)
安装的CUDA):1
2
3
4
5
6
7cd DownloadFolder
wget https://developer.nvidia.com/downloads/compute/cudnn/secure/8.9.7/local_installers/11.x/cudnn-local-repo-ubuntu1804-8.9.7.29_1.0-1_amd64.deb/
# sudo dpkg -i libcudnn8_8.0.2.39-1+cuda10.2_amd64.deb
# sudo dpkg -i libcudnn8-dev_8.0.2.39-1+cuda10.2_amd64.deb
# sudo dpkg -i libcudnn8-doc_8.0.2.39-1+cuda10.2_amd64.deb
sudo dpkg -i cudnn-local-repo-ubuntu1804-8.9.7.29_1.0-1_amd64.deb # 安装本地仓库,使得通过APT包管理器安装cuDNN相关包成为可能
sudo cp /var/cudnn-local-repo-ubuntu1804-8.9.7.29/cudnn-local-AE31B5F1-keyring.gpg /usr/share/keyrings/ # 根据安装*.deb时的输出提示来。通过导入GPG密钥,系统能够验证从本地仓库安装的软件包是经过NVIDIA官方签名的更新和安装软件包:
-
方法一:
1
2
3
4
5
6
7
8
9
10sudo apt update # 刷新APT的包列表,准备安装新的软件包
sudo apt install libcudnn8 # 安装cuDNN的运行时库,这是运行基于cuDNN开发的应用程序所必需的
# 如果需要安装特定版本的cuDNN运行时库,可以指定版本号
# sudo apt install libcudnn8=8.9.6.50+cuda11.8
sudo apt install libcudnn8-dev # 为了开发基于cuDNN的应用,还需要安装开发者库
# 输出:update-alternatives: 使用 /usr/include/x86_64-linux-gnu/cudnn_v8.h 来在自动模式中提供 /usr/include/cudnn.h (libcudnn)
# 同样,指定版本号安装也是可能的
# sudo apt install libcudnn8-dev=8.9.6.50+cuda11.8
sudo apt install libcudnn8-samples # 安装cuDNN代码示例可以帮助开发者快速了解如何使用cuDNN API
# 示例代码位于/usr/src/cudnn_samples_v8目录下,通过编译和运行这些示例,开发者可以验证cuDNN安装是否成功,同时学习如何在自己的应用中使用cuDNN -
方法二:在启用本地仓库并导入CUDA GPG密钥后,在
/var/cudnn-local-repo-ubuntu1804-8.9.6.50
有上面三个的*.deb
安装文件,直接通过sudo dpkg -i
安装即可。1
2
3
4cd /var/cudnn-local-repo-ubuntu1804-8.9.6.50
sudo dpkg -i libcudnn8_8.9.7.29-1+cuda11.8_amd64.deb
sudo dpkg -i libcudnn8-dev 8.9.7.29-1+cuda11.8_amd64.deb
sudo dpkg -i libcudnn8-samples_8.9.7.29-1+cuda11.8_amd64.deb使用方法一中的命令运行安装时,可以发现使用的就是
/var/cudnn-local-repo-ubuntu1804-8.9.6.50
中的*.deb
。
-
-
压缩包版本(对应使用
*.run
安装的CUDA):1
2
3
4
5
6
7
8
9
10
11
12
13
14
15# 下载
cd DownloadFolder
wget https://developer.nvidia.com/downloads/compute/cudnn/secure/8.9.7/local_installers/11.x/cudnn-linux-x86_64-8.9.7.29_cuda11-archive.tar.xz/
# 解压
cd DownloadFolder
# 解压*.tar.xz文件。图形化界面可以直接双击压缩包实现解压
xz -d -k cudnn-linux-x86_64-8.9.7.29_cuda11-archive.tar.xz # 使用 -k 参数来保留被解压缩的文件。
tar -xvf cudnn-linux-x86_64-8.9.7.29_cuda11-archive.tar
# 复制文件
cd cudnn-linux-x86_64-8.9.7.29_cuda11-archive
sudo cp include/* /usr/local/cuda/include/
sudo cp lib/* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/* /usr/local/cuda/lib64/*
-
-
测试。
-
查询版本信息:
1
2
3
4
5
6apt show libcudnn8 # 通过查询已安装的libcudnn8包来验证cuDNN的版本
# 查看版本(路径可能不一致,有一个命令有输出就行)
cat /usr/include/cudnn_version.h
cat /usr/include/cudnn.h
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2 -
测试示例代码:
首先,导航到包含cuDNN示例代码的目录。如果已安装
libcudnn8-samples
,示例代码通常位于/usr/src/cudnn_samples_v8/
目录下。编译示例代码前,需要复制该目录到其它目录下,以避免权限问题:使用压缩包进行安装的方法没有
cudnn_samples_v8
这个文件夹,需要自行上网下载,比如:https://github.com/johnpzh/cudnn_samples_v81
2
3
4
5
6
7cp -r /usr/src/cudnn_samples_v8/ yourFloder/cudnn_samples_v8
# -r 或 --recursive:用于复制目录及其所有的子目录和文件,如果要复制目录,需要使用该选项。
cd yourFloder/cudnn_samples_v8/mnistCUDNN
make clean # (可选)清除之前编译生成的文件(如果有)
make
./mnistCUDNN # Test passed! 如果cuDNN安装正确,此程序将成功运行,通常会输出识别准确率或其他成功执行的指标
# 如果报错ERROR: cudnn failure (CUDNN_STATUS_EXECUTION_FAILED) in mnistCUDNN.cpp:637,可能是因为显卡版本太高,CUDA版本太低,不兼容(运行博客PyTorch章节的测试脚本会有相应的warning)。解决:重装高版本的CUDA。make
报错test.c:1:10: fatal error: FreeImage.h: No such file or directory
:1
sudo apt-get install libfreeimage3 libfreeimage-dev
-
-
完成。
卸载
-
卸载通过
*.deb
文件安装的cuDNN:1
2
3
4
5
6# 删除数据库
sudo apt-get --purge remove cudnn-local-repo-ubuntu1804-8.9.7.29 # 当时安装时使用的deb包名的前一部分,也就是在/var文件夹里的cudnn*文件夹
sudo apt-get remove libcudnn8-samples
sudo apt-get remove libcudnn8-dev
sudo apt-get remove libcudnn8 -
通过压缩包安装的cudnn随着CUDA的卸载而卸载。
PyTorch
-
下载安装。
-
命令行安装。访问链接,根据要安装的PyTorch版本和CUDA版本找到conda安装命令。
-
*.whl
安装。-
下载。下载网址
每个文件命名都是有规律的:
使用快捷键
Ctrl+F
,搜索我们需要安装的版本文件下载,例如:- cu101/torch-1.4.0-cp38-cp38-win_amd64.whl
- cu101/torchyision-0.5.0-cp38-cp38-win_amd64.whl
-
安装。
1
2
3
4
5conda create --copy -n pytorch python=3.8
conda activate pytorch
cd DownloadFolder
pip install cu101/torch-1.4.0-cp38-cp38-win_amd64.whl
pip install cu101/torchvision-0.5.0-cp38-cp38-win_amd64.whl
-
-
-
测试。编写并运行python脚本:
1
2
3
4
5
6
7
8
9import torch
import torchvision
print(torch.__version__)
print(torch.version.cuda)
print(torchvision.__version__)
print(torchvision.version.cuda)
print(torch.cuda.is_available())
if torch.cuda.is_available():
print("CUDA device:", torch.cuda.get_device_name(torch.cuda.current_device()))如果全部输出正常证明版本兼容。
-
完成。
参考链接
【Pytorch】pytorch安装(包含cuda详细安装教程)
【非常详细】Ubuntu18.04安装显卡驱动和CUDA,CUDNN流程和踩坑记录
Ubuntu 20.04安装CUDA & CUDNN 手把手带你撸
Ubuntu系统下由于Nvidia驱动问题导致的无法开机的问题小结
Ubuntu 18.04上安装cuDNN 8.9.6.50:一站式指南
一种解决pytorch和cuda版本不兼容问题的方法(cuda driver版本:12.0.134)