[英]ImportError: Could not find 'cudnn64_7.dll' , while importing tensorflow
[英](Tensorflow-GPU) import tensorflow ImportError: Could not find 'cudnn64_7.dll'
在 anaconda 下创建 tensorflow 环境后,我安装了 tensorflow-gpu。 然后我试图导入 tensorflow 以验证它是否正确安装,但出现此错误:
ImportError: Could not find 'cudnn64_7.dll'. TensorFlow requires that this DLL be installed in a directory that is named in your %PATH% environment variable. Note that installing cuDNN is a separate step from installing CUDA, and this DLL is often found in a different directory from the CUDA DLLs. You may install the necessary DLL by downloading cuDNN 7 from this URL: https://developer.nvidia.com/cudnn
设置是:
NVIDIA GTX 1080
CUDA 9.0
cuDNN 6.0
tensorflow-gpu 1.5
环境变量是:
CUDA_PAT: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0
CUDA_PATH_V9_0: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0
%Path% 变量是:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\libnvvp
C:\Users\yshen\AppData\Local\cudnn-8.0-windows10-x64-v6.0\cuda\bin
很明显我安装了cuDNN6.0,不知道为什么错误显示“找不到'cudnn64_7.dll'”。 为什么它会自动搜索 cudnn64_7.dll 而不是 cudnn64_6.dll?
另外,当我安装TensorFlow 1.8
时出现以下错误。 我有 Anaconda 环境。
“导入错误:找不到‘cudnn64_7.dll’”
但是在我安装了Nvidia cuDNN v7.1.3
(2018 年 4 月 17 日)之后,对于CUDA 9.0
,一切都开始工作了。 请注意,需要注册为 Nvidia 开发人员才能下载安装包。
然后,只需按照页面中的说明进行操作: cudnn-install
对于 Windows:
3.3. 在 Windows 上安装 cuDNN
以下步骤描述了如何构建 cuDNN 依赖程序。 在以下部分:
-您的 CUDA 目录路径称为C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v9.0
-您的 cuDNN 目录路径称为<installpath>
导航到包含cuDNN
<installpath>
目录。
解压缩 cuDNN 包。 -cudnn-9.0-windows7-x64-v7.zip
或-cudnn-9.0-windows10-x64-v7.zip
将以下文件复制到 CUDA Toolkit 目录中。
<installpath>\\cuda\\bin\\cudnn64_7.dll
到C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v9.0\\bin
。<installpath>\\cuda\\ include\\cudnn.h
到C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v9.0\\include
。<installpath>\\cuda\\lib\\x64\\cudnn.lib
到C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v9.0\\lib\\x64
。 设置以下环境变量以指向 cuDNN 所在的位置。 要访问$(CUDA_PATH)
环境变量的值,请执行以下步骤:
sysdm.cpl
命令。CUDA_PATH
变量值: C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v9.0
在 Visual Studio 项目中包含 cudnn.lib。
right-click
project name
。Linker > Input > Additional Dependencies
。cudnn.lib
并单击OK 。根据您之前的回答,您似乎发现预构建的 tensorflow-gpu 1.5 与 CUDA 9.0 + CudNN 6.0 不兼容。 如果您想使用 tensorflow-gpu 1.5,您的答案有两种可能的解决方案:
1、将你的CUDA工具链升级到CUDA 9.0+Cudnn 7.0(目前CUDA 9.0为Cudnn 7.0.5)。
2、为CUDA 9.0 + cudnn 6.0重新编译tensorflow-gpu 1.5 target。
我建议选择第一个选项以方便。 但是tensorflow 1.5的官网并不否认选项2的可能性: https : //github.com/tensorflow/tensorflow/releases/tag/v1.5.0
就我而言,我需要安装此处链接的旧 cuDNN 库
只需提出解决方案:
我检查了 \\tensorflow\\python\\platform\\build_info.py 并发现:
msvcp_dll_name = 'msvcp140.dll'
cudart_dll_name = 'cudart64_90.dll'
cuda_version_number = '9.0'
nvcuda_dll_name = 'nvcuda.dll'
cudnn_dll_name = 'cudnn64_7.dll'
cudnn_version_number = '7'
它假设 cudnn 版本是 7。所以只需要将其更正为:
cudnn_dll_name = 'cudnn64_6.dll'
cudnn_version_number = '6'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.