【Pytorch】解决cuDNN error: CUDNN_STATUS_NOT_INITIALIZED
文章目录
问题描述
在git上下载了相关的代码准备在服务器上跑一下,然后发现在之前配好的conda虚拟环境下跑不了,版本太高了,所以就重新配了一个虚拟环境,结果遇到了以下问题
RuntimeError cuDNN error: CUDNN_STATUS_NOT_INITIALIZED
报这个错误的时候,不是代码的问题,而是环境的问题,所以首先我们来排查一下自己的虚拟环境
解决思路
1、验证cuda是否可用
conda activate your_env_name
python
import torch
print(torch.cuda.is_available())
激活你的虚拟环境,然后进入python环境,再导入torch包,查看cuda是否可用。如果为false,则要重新安装pytorch,如果为true,则可以跑一个简单的小demo测试一下。
2、如果cuda不可用,则查看cuda版本
nvcc -V
如果为false说明torch没有安装好,需要重装,而这个问题一般是因为驱动和版本不对应,所以我先查看一下cuda版本。然后去pytorch官网上找到相应的版本,但是因为有的版本比较旧,所以我们就要去查看历史版本。我的cuda是10.2,而且要跑的代码好像有点年头了,所以我选择较低的版本
pip install torch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2
用conda命令的话会因为网速问题而安装失败,所以我选择pip命令,如果还觉得慢的话,可以换个源
豆瓣源
-i http://pypi.douban.com/simple/
中科大源
-i https://pypi.mirrors.ustc.edu.cn/simple/
清华源
-i https://pypi.tuna.tsinghua.edu.cn/simple
阿里源
-i https://mirrors.aliyun.com/pypi/
3、如果cuda可用,则查看pytorch版本
如果pytorch版本过高的话,可能也会出现这种问题,我之前装的pytorch1.8,然后就报这个错了,降版成1.7.1就好了,你可以试一下。
总结
总的来说环境问题是一个玄学问题,但是说到底还是一个版本问题,这次收获还是有的,不要慌张,先理清一个思路,然后按照版本装相应的包,加油。
另外感谢大佬的博客
参考博客