runtime CuDNN library: 8.0.5 but source was compiled with: 8.1.0 解决方法

错误发生的环境

先安装了tensorflow后安装pytorch时,使用tensorflow的gpu推理时报错

为什么有这个问题

我是在安装tensorflow后安装pytorch,之后出现这个错误,猜测可能是pytorch和当前系统的cudnn版本不同,导致pytorch的cudnn覆盖了系统

解决方法部分

确定问题后,进入解决部分

1、前往官网下载cudnn

前往官网(https://developer.nvidia.com/rdp/cudnn-archive),选择与你当前cuda环境相符合的版本进行下载,注意cuda版本号和系统,cuda版本号不清除可以nvcc -V (较老版本是小写v)查看
在这里插入图片描述

2、解压压缩包,准备覆盖

将压缩包解压后,里面需要用到的只有bin下的dll文件

3、更换pytorch下的dll文件

前往{你的python安装目录}\Lib\site-packages\torch\lib,将上面的dll全部替换进去
在这里插入图片描述
完成后运行

print(torch.__version__) # torch version
print(torch.version.cuda)  # cuda version
print(torch.backends.cudnn.version())  # cudnn version

查看版本号,版本号为8100就是正常了

日后可能出现的问题及解决办法部分

毕竟修改了pytorch的cudnn版本,以后pytorch调用cudnn可能会报错,但由于更新的版本号幅度并不大(8.0.5->8.1.0),个人建议等报错了,将传参做调整就可以了,如果实在严重,也可以考虑重新安装pytorch

为什么torch的cudnn会干扰系统的cudnn?

只是个人猜测,python在调用dll时,是先调用包内的dll->模块内的dll->系统环境变量下的dll,而torch的模块内dll优先级高于系统环境变量下的dll,同时它们又是同名,所以系统环境变量下的cudnn未被调用,而torch下的dll被调用了

闲话

最近学学习感觉越学越痛苦,因为加的群几乎全是有一定基础的人的群,导致他们在说什么我完全不知道,不知道有没有入门学tensorflow/pytorch/jax/opencv/C++/ros这些的小伙伴可以加q一起聊聊技术emm,不过目前本人学的还是偏基础偏的太离谱,所以很大概率是会多向你请教就是了

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值