最近在配置深度学习环境,CUDA,PyTorch,GCC 之间的版本关系是特别需要注意的事情,否则代码根本运行不起来,或者运行报错。
PyTorch
首先 PyTorch 的不同版本是不完全兼容的,所以在配置环境时要看清楚要求的版本,然后 PyTorch 对 CUDA 的版本有要求,可以通过接口查看支持的 CUDA 最高版本:
bash
import torch
print(torch.__version__)
print(torch.cuda_is_available())
或者直接使用以下命令去查看安装的有哪些库:
bash
pip list
CUDA与nvidia driver版本之间的对应关系
Linux x86_64 Driver Version | Windows x86_64 Driver Version | |
---|---|---|
CUDA 12.2.x | >=525.60.13 | >=525.41 |
CUDA 12.1.x | >=525.60.13 | >=527.41 |
CUDA 12.0.x | >=525.60.13 | >=527.41 |
CUDA 11.8.x | >=450.80.02 | >=452.39 |
CUDA 11.7.x | >=450.80.02 | >=452.39 |
CUDA 11.6.x | >=450.80.02 | >=452.39 |
CUDA 11.5.x | >=450.80.02 | >=452.39 |
CUDA 11.4.x | >=450.80.02 | >=452.39 |
CUDA 11.3.x | >=450.80.02 | >=452.39 |
CUDA 11.2.x | >=450.80.02 | >=452.39 |
CUDA 11.1 (11.1.0) | >=450.80.02 | >=452.39 |
CUDA 11.0 (11.0.3) | >=450.36.06** | >=451.22** |
使用以下命令查看自己的CUDA版本:
bash
nvcc --version
使用以下命令查看自己的nvidia driver版本:
bash
nvidia-smi
如何想更换显卡的CUDA版本,但是没有管理员权限,可参考以下链接的文章:
https://blog.csdn.net/qq_45729306/article/details/143873069
CUDA与GCC之间的对应关系
在踩了无数次坑之后,终于发现CUDA能否正常使用,还与GCC之间有密切的关系,否则代码还是会运行不起来,反正我的是这样(计算机视觉领域)。但是有意思的是我的另一台服务器安装的GCC版本为7.5.0,CUDA版本为11.7,虽然不符合下面表格中的对应关系,但是代码依然可以运行起来,头大了。所以这部分可以算作最后的检查工作吧。
以下是CUDA与GCC之间的兼容关系。
CUDA version | GCC version |
---|---|
11.4.1+,11.5,11.6,11.7 | 11 |
11.1,11.2,11.3,11.4.0 | 10 |
11 | 9 |
10.1,10.2 | 8 |
9.2,10.0 | 7 |
8 | 6 |
7 | 5.3 |
5.5,6 | 4.9 |
4.2,5 | 4.8 |
4.2,5 | 4.6 |
4.1 | 4.5 |
4.0 | 4.4 |
使用以下命令查看自己的GCC版本:
bash
gcc --version
如何想更换GCC版本,但是没有管理员权限,可参考以下链接的文章:
https://blog.csdn.net/qq_45729306/article/details/143903591
Pytorch与CUDA版本之间的对应关系
这部分是重中之重,每一个配置过深度学习环境的同学肯定都遇到过这个问题吧,无一例外。版本如果不对应,代码根本跑不起来,不想上面的GCC与CUDA版本那样还存在例外的情况。
CUDA version | Pytorch version |
---|---|
11.7 | 1.13.1,1.13.0 |
11.6 | 1.13.1,1.13.0,1.12.1,1.12.0 |
11.3 | 1.12.1,1.12.0,1.11.0,1.10.1,1.10.0,1.9.1,1.9.0,1.8.1,1.8.0 |
11.1 | 1.8.0 |
11.0 | 1.7.1,1.7.0 |
10.2 | 1.12.1,1.12.0,1.11.0,1.10.1,1.10.0,1.9.1,1.9.0,1.8.1,1.8.0,1.7.1,1.7.0,1.6.0,1.5.1,1.5.0 |
10.1 | 1.7.1,1.7.0,1.6.0,1.5.1,1.5.0,1.4.0,1.3.0 |
10.0 | 1.2.0,1.1.0,1.0.1,1.0.0 |
9.2 | 1.7.1,1.7.0,1.6.0,1.5.1,1.5.0,1.4.0,1.2.0,0.4.1 |
9.0 | 1.1.0,1.0.1,1.0.0,0.4.1 |
8.0 | 1.1.0,1.0.0,0.4.1 |
7.5 | 0.4.1,0.3.0,0.2.0,0.1.6,0.1.7,0.1.8,0.1.9,0.1.10,0.1.11,0.1.12 |
以下是官网给出的更换CUDA版本的所有命令的链接地址:
https://pytorch.org/get-started/previous-versions/
这个地址可能访问的时候会加载不出来,或者非常慢,后续我还会更新这部分的内容。