在用跑深度学习任务时,遇到的问题:

所遇到的问题:

RuntimeError:unable to find a valid cuDNN algorithm to convolution

 产生报错的原因可能有两种:
1.模型训练的环境中cudnn,CUDA的版本号不匹配
解决办法:安装对应的cudnn,以及cuda,找到对应的torch框架,进行安装

2.其实问题更加简单,是模型的训练的batch-size训练过大了,调整更小,就可以了

对于原因2,做过尝试,但是还是会报错。下面是针对原因1的解决方法。

这个问题产生的原因:所使用的cuda版本和cudnn版本不匹配(没搞清楚是哪个不匹配,但目前按照下面的方法已经解决了)

存在问题的配置情况:RTX3090,pytorch==1.5.1,cuda==10.2。

由于是版本不匹配的问题,通过搜索RTX3090对应的pytorch 和 cuda安装教程,解决上述问题。

解决过程:

通过搜索,根据“链接1”得知RTX3090安装pytorch1.8.1,对应的cuda11.1。

由于虚拟环境都已经创建完成,目前是在Linux上进行安装,根据“链接2”中的安装代码,直接进行pytorch和cuda的安装。如果环境中已经装过其他版本的pytorch,应该能够自动卸载原版本,再装新的指定版本。

pip install torch==1.8.1+cu111 torchvision==0.9.1+cu111  -f https://download.pytorch.org/whl/torch_stable.html

经过验证,RTX3090安装上述版本的pytorch和cuda后,能够正常运行,不会报出上面的那个错误。

链接1:RTX3090(4090) 与pytorch版本对应关系_rtx4090 tensorflow pytorch_mingqian_chu的博客-CSDN博客

链接2:Linux安装Pytorch1.8GPU(CUDA11.1)_1.8.1+cu111_太阳花的小绿豆的博客-CSDN博客


如果遇到其他问题,可以在下面这个链接的评论区中找找是否有解决方法

Unable to find a valid cuDNN algorithm to run convolution_无法找到有效的cudnn来运行卷积_weixin_43615569的博客-CSDN博客

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐