解决RuntimeError: cuDNN error: CUDNN_STATUS_EXECUTION_FAILED

由于这个问题浪费了我1整天,外加连续4个晚上的时间,所以有必要记录一下曾经踩过的坑,希望后来者引以为鉴,有所启发。

最终环境:win10 ,2080ti ,cuda10,cudnn7.3.1,vs2017,python3.6.6,pytorch1.0.0

现象:cuda用窗口命令nvcc -V,可以显示cuda版本号,说明cuda没问题(torch.cuda.is_available()返回的也是True)。代码写指令

torch.backends.cudnn.enabled = False ,让其只用CPU跑,正常,说明代码没问题。但是cudnn执行报错,还是那句话,9成以上的可能问题就是出现在各部分的版本问题上(之前几乎搜遍了网上的解答,这类问题满意的解答很少,大多是个例,给出的解决办法根本不适用其他人,无法复现。比如有人集中解决的是vs2017或是2015的配置问题,包括路径啊之类的)。我先是试了cuda10,cuda9.2,cuda9.0以及对应的所有cudnn版本,确认不是这两者的版本问题,又继续配置了好久的vs2017,都无果。然后安装了Anaconda,全都配置好后,跑起来还是报和之前pip一样的错。全都排查后,一度让我怀疑是不是显卡硬件问题,2080ti太新导致cuda什么的哪里还没来得及适配,还好没放弃~~

解决:具体的cuda及相关安装,自己百度一下有都是,就不在此详述了。对于这样的问题,我建议最简单粗暴的方法就是把所有全部卸载重装。像我几乎试遍了的,唯独python版本没仔细排查过。其实之前python3.6.0-3.6.5以及3.7我都试过,这次把python3.6.2卸载后(百度教程,用官方的uninstal卸载的才干净彻底),试着随手安了python3.6.6就好了,还真是版本问题,而且应该最不容易想到会出问题的就在python版本这一块了。

总结:绝大多可能就是cuda,cudnn,vs,python,pytorch版本,其中某个版本出了问题。所以广大朋友们要针对这几个逐一排查

猜你喜欢

转载自blog.csdn.net/qq_39938666/article/details/86611474