程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2024-11(3)

tensorflow遇到ImportError: Could not find 'cudart64_100.dll'错误解决

发布于2019-08-05 18:45     阅读(961)     评论(0)     点赞(1)     收藏(3)


知识共享许可协议 版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons

在安装tensorflow的时候,使用import tensorflow出现了找不到dll文件的错误,参考了很多博客和stackflow的解决方案,发现其中只说了版本号不匹配,但是没有具体说明什么样的版本才是适配正确的,因此手写此避坑指南。再次感谢Function兄的指导帮助。
笔者环境:

python 版本3.6
tensorflow版本1.14
ImportError: Could not find 'cudart64_100.dll'

简答:

  1. 仔细分析错误的类型、原因

  2. 搞清自己的tensorflow以及CUDA版本

  3. 换用对应版本进行解决,完成cuda与tf的适配,cudnn与cuda的适配,protobuf与tf的适配

一. 错误类型原因

问题是找不到cuda系的dll文件的模块,提示需要下载CUDA10.0,那么首先查看cuda的路径下是否存在该文件:
通过C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA路径访问cuda,在其bin目录下查找是否有cudart64_100.dll模块
如果有,则查看环境变量是否添加;如果没有,可能就是cuda版本和tensorflow版本的匹配问题

二. 搞清自己的tensorflow及CUDA版本

进入命令行环境下,首先通过python --version确定自己的python版本是3.6
再通过pip list查看已经安装好的tensorflow版本,笔者本人的版本是1.14
通过nvcc --version查看cuda版本,笔者之前的cuda版本是V9.0.176;

通过Tesnsorflow官网查找对应版本信息如下:
对应版本信息
可以看到当Tensorflow的版本>=1.13时,CUDA的版本需要是10.0,同时cudnn版本号需要大于7.4.1
这里笔者选用了将cuda的版本卸载,以适用tensorflow版本
直接进入C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA路径下将文件夹删除,并且将环境变量删除。
找到了一个高中生搭的服务器下载链接,这里的下载速度会快一些:
tensorflow相关下载链接

三. 匹配对应的cudnn对应cuda版本

将cuda版本安装后,再次打开jupyter运行import tensorflow,发现并没有成功,出现了找不到'cudnn64_7.dll'的错误:

ImportError: Could not find 'cudnn64_7.dll'

此提示表示缺少cudnn模块的dll文件,根据tensorflow文档,对应tensorflow1.13版本以上,cudnn需要是>7.4.1的版本,下载cudnn版本,cudnn的目录结构如下:
在这里插入图片描述
将cudnn目录下的文件对应放在cuda目录下即可

四. 匹配对应的protobuf对应tf版本

此时应该是没问题了吧,笔者继续运行import tensorflow, MMP, 并没有顺利运行,出现了提示'descriptor'的错误:

 ImportError: cannot import name 'descriptor'

stackflow上的tf安装问题汇总

通过stackflow上查找,发现该错误出现的原因是因为protobuf和tf的版本不对应,因为tf和pro之间存在依赖关系,于是笔者首先uninstall pro, 接着uninstall tf,最后重新install tf ,tf会自动对依赖项pro进行安装。
中间出现了一点小插曲,笔者是用virtualenv的py虚拟环境,于是安装好了版本后,依然会出现'descriptor'的错误,于是自己在原生py环境中测试了下,发现可以导入tf。那么原因就是可能因为系统找不到py虚拟环境中的sitepackage,将虚拟环境的py-bin下的目录设置为环境变量,即可正常调用。
最后结果导入成功:
在这里插入图片描述



所属网站分类: 技术文章 > 博客

作者:妖怪还我师傅

链接:https://www.pythonheidong.com/blog/article/6434/88386103f4e2df7ebc59/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

1 0
收藏该文
已收藏

评论内容:(最多支持255个字符)