NVIDIA GeForce RTX 4070 Ti with CUDA capability sm_89 is not compatible with...报错的完整解决方法

使用cuda训练时报了个这个错误:

NVIDIA GeForce RTX 4070 Ti with CUDA capability sm_89 is not compatible with the current PyTorch installation.
The current PyTorch install supports CUDA capabilities sm_37 sm_50 sm_60 sm_61 sm_70 sm_75 compute_37.
If you want to use the NVIDIA GeForce RTX 4070 Ti GPU with PyTorch, please check the instructions at https://pytorch.org/get-started/locally/

在这里插入图片描述
大概意思就是4070ti的算力(8.9)与pytorch所支持的最高算力(7.5)是不匹配的,但是当时我安装的版本是和cuda的版本(nvcc -V)相匹配的,于是查看了下cuda(nvcc -V)一看是10.x,再看显卡(nvidia-smi,右上角)一看是12.x相差太多了,cuda版本过低。

下载安装cuda

所以我们要重装下载一个新版本的cuda与nvidia-smi匹配
NVIDIA GeForce RTX 4070 Ti with CUDA capability sm_89 is not compatible with...报错的完整解决方法_第1张图片
选择好之后分别运行下面两行命令(科学上网,不然四五个g得下半天)。
NVIDIA GeForce RTX 4070 Ti with CUDA capability sm_89 is not compatible with...报错的完整解决方法_第2张图片
选择continue,可能会弹出然后结束报了个“Failed to verify gcc version. See log at /var/log/cuda-installer.log for details.”的错误,因为gcc版本部匹配的原因。
可以将第二句命令后面加上--overridesudo sh cuda_12.1.1_530.30.02_linux.run --override忽略版本部匹配,但是也有可能压根就没有安装gcc会提示你没有安装gcc,安装sudo apt install gcc
有可能你都没有以上的错误直接到了这一步:
NVIDIA GeForce RTX 4070 Ti with CUDA capability sm_89 is not compatible with...报错的完整解决方法_第3张图片
输入accpt接受协议
NVIDIA GeForce RTX 4070 Ti with CUDA capability sm_89 is not compatible with...报错的完整解决方法_第4张图片
记住这里取消driver的勾选(按空格),然后选install回车即可。

配置cuda环境变量

sudo gedit ~/.bashrc打开编辑.bashrc文件,最后加入

export PATH=$PATH:/usr/local/cuda/bin  
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64  
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda/lib64

cuda在/usr/local底下,打开一看
NVIDIA GeForce RTX 4070 Ti with CUDA capability sm_89 is not compatible with...报错的完整解决方法_第5张图片

这里为什么添加的环境变量的路径是cuda而不选择对应版本的cuda-12.1呢?因为如果电脑多个cuda版本的话,这样才能选择切换。

命令source ~/.bashrc使文件生效,nvcc -V查看cuda版本是否成功安装。

安装cuDNN

去官网选择自己对应版本的,但是要先创建一个nvidia账号。
NVIDIA GeForce RTX 4070 Ti with CUDA capability sm_89 is not compatible with...报错的完整解决方法_第6张图片
下载tar.xz后进行解压tar -xvf cudnn-linux-x86_64-8.9.0.131_cuda12-archive.tar.xz
将cudnn安装目录下部分文件复制到cuda的安装目录下

sudo cp cudnn-linux-x86_64-8.9.0.131_cuda12-archive/include/cudnn*.h /usr/local/cuda/include 
sudo cp -P cudnn-linux-x86_64-8.9.0.131_cuda12-archive/lib/libcudnn* /usr/local/cuda/lib64 

修改权限

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

重装pytorch

先卸载旧版本(记得进入对应的虚拟环境

conda uninstall pytorch
conda uninstall libtorch

然后到pytorch官网下载对应cuda版本的pytorch
NVIDIA GeForce RTX 4070 Ti with CUDA capability sm_89 is not compatible with...报错的完整解决方法_第7张图片
复制下面的命令运行即可。

你可能感兴趣的:(常见问题的解决方法,pytorch,深度学习,python)