声明
对于paddlepaddle版本2.4对应cuda11.xcudnn8.x版本而言出现的问题,至2023年1月18日,此问题仍然存在,但是问题是官方的还是我自己的我不确定。只是在此提出以供参考学习。
1、问题概述
在anaconda中配置虚拟环境python=3.7 paddlepaddle-gpu =2.4 cuda =11.7 cudnn=8.4.1
启动训练不管是检测模型还是识别模型,都会出现提示信息,大致意思是,cuda11.7要使用cudnn8.4但是我的电脑上只有cudnn8.0。
检测模型在提示这段信息后还是会启动训练,但是识别模型在显示这段信息后会出现一个错误弹窗,提示在xxx路径下找不到文件cudnn_xx8.dll(具体文件名不记得了是一个关于cudnn的dll),依据提示中的路径我们其实可以找到这个文件。我尝试使用更低版本的cuda和cudnn(8.0以后的cudnn)仍然会报相同的提示信息。
2、解决方法
也算不上解决方法吧,只能说是为了能继续训练下去另找的方法。
很简单就是回退版本(其实就是新建一个虚拟环境下载老版本的框架和cuda cudnn),这里要注意的是并不是任意回退就可以,尽量试着使用cudnn不是8.x版本的paddlepaddle。我本人是回退至paddlepaddle-gpu2.3、cuda10.2、cudnn7.6.5。
这样的话我再进行训练就可以正常进行了。
问题的根本原因我没有找到,依据实践来看,不管我使用cudnn8.x哪个版本,都会提示我上面说到的情况,只有在使用cudnn8.0以下版本才不会出现。
3、题外话
有哪位大佬懂这到底是什么原因造成的,欢迎解答