栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

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

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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安装目录}Libsite-packagestorchlib,将上面的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,不过目前本人学的还是偏基础偏的太离谱,所以很大概率是会多向你请教就是了

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/987246.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号