在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?
答案 0 :(得分:8)
当我安装TensorFlow 1.8时,我得到了“ImportError:找不到'cudnn64_7.dll'”。我有Anaconda环境。
但是在安装了Nvidia cuDNN v7.1.3(2018年4月17日)后,对于CUDA 9.0,一切都开始起作用了。 请注意,需要注册为Nvidia开发人员才能下载安装包。
然后,只需按照页面https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html
中的说明操作即可对于Windows:
3.3。在Windows上安装cuDNN 以下步骤描述了如何构建cuDNN依赖程序。在以下部分中: -your CUDA目录路径称为C:\ Program Files \ NVIDIA GPU Computing Toolkit \ CUDA \ v9.0 -your cuDNN目录路径称为
导航到包含cuDNN的目录。
解压缩cuDNN包。 -cudnn-9.0-windows7-x64-v7.zip 要么 -cudnn-9.0-windows10-x64-v7.zip
将以下文件复制到CUDA Toolkit目录中。 -Copy \ cuda \ bin \ cudnn64_7.dll到C:\ Program Files \ NVIDIA GPU Computing Toolkit \ CUDA \ v9.0 \ bin。 -Copy \ cuda \ include \ cudnn.h到C:\ Program Files \ NVIDIA GPU Computing Toolkit \ CUDA \ v9.0 \ include。 -Copy \ cuda \ lib \ x64 \ cudnn.lib到C:\ Program Files \ NVIDIA GPU Computing Toolkit \ CUDA \ v9.0 \ lib \ x64。
将以下环境变量设置为指向cuDNN所在的位置。要访问$(CUDA_PATH)环境变量的值,请执行以下步骤: - 从“开始”菜单中打开命令提示符。 - 输入并按Enter键。 - 发出control sysdm.cpl命令。 - 选择窗口顶部的“高级”选项卡。 - 单击窗口底部的环境变量。 - 确保设置以下值: - 变量名称:CUDA_PATH - 变量值:C:\ Program Files \ NVIDIA GPU Computing Toolkit \ CUDA \ v9.0
在Visual Studio项目中包含cudnn.lib。 - 打开Visual Studio项目并右键单击项目名称。 - 点击链接器>输入>额外的依赖关系。 - 添加cudnn.lib并单击“确定”。
答案 1 :(得分:1)
根据你之前的回答,你似乎发现prebuilt 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目标。
我建议选择第一个选项以方便。但tensorflow 1.5的官方网页并没有否认选项2的可能性: https://github.com/tensorflow/tensorflow/releases/tag/v1.5.0
答案 2 :(得分:1)
就我而言,我需要安装旧的 cuDNN 库链接 here
答案 3 :(得分:0)
只是解决方案:
我检查了\ 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'