解决cuda版本不对应问题

windows10 , python3.6.5 ,rtx3060ti

一:问题及初步尝试解决

最近跑一个需要使用cuda的代码,但是一直有问题。检查到最后发现是最前面有一个if判断cuda是否可用一直返回false

if torch.cuda.is_available()

这说明cuda不可用,于是选择输出torch和cuda的version看一下,即

print(torch.__version__)
print(torch.version.cuda)

发现前一个输出结果是None,后一个输出结果是'1.10.2+cpu',这说明pytorch装的版本是CPU版本的。于是去卸载虚拟环境中的torch,去pytorch官网安装cuda11.7的pytorch,如图:

在cmd中进入虚拟环境后输入以上指令:pip3 install torch torchvision torchaudio –extra-index-url https://download.pytorch.org/whl/cu117安装后运行程序返回依然是false,我怀疑是cuda和cudnn的问题,于是重新走一遍过程。当然尝试了多种办法都没用后,我最后确定是pytorch安装的问题,是pytorch官网给的指令安装的并非合适版本的cuda11.7的pytorch,于是只好向下适配,去安装了cuda11.3的版本,然后虚拟环境安装了对应的包,最后运行成功,以下是流程。

二.安装cuda和cudnn

进入cuda官网

https://developer.nvidia.com/cuda-toolkit-archive

找到合适版本

这里我安装的11.3.0版本

选择自定义且cuda选择去掉visual studio integration,除了cuda,其他的也去掉勾选(因为我有cuda11.7版本,其他不需要的都不安装)

然后下载cudnn:https://developer.nvidia.com/rdp/cudnn-download

安装好后解压缩,放到对应的文件夹中,即将安装好后的文件每个放入对应文件夹中,找到路径C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3的文件夹,然后将bin,include,lib中的文件一一放过去复制粘贴即可。

此时cuda和cudnn就安装完毕。

三.安装pytorch

去pytorch官网找到Previous versions of Pytorch

找到cuda11.3的指令去虚拟环境中输入指令:

conda install pytorch==1.10.1 torchvision==0.11.2 torchaudio==0.10.1 cudatoolkit=11.3 -c pytorch -c conda-forge

然后安装完成后去验证代码:

问题解决。

多版本cuda可共存,参考博客:https://blog.csdn.net/m0_37605642/article/details/117932717

物联沃分享整理
物联沃-IOTWORD物联网 » 解决cuda版本不对应问题

发表评论