【发布时间】:2021-01-02 16:46:19
【问题描述】:
我有 Tensorflow 2.2 和 Cuda 10.1 和 cuDnn 8.0.3
我无法运行我的脚本,因为它一直在寻找 cuDnn 7 dll 文件:cudnn64_7.dll 我得到以下信息:
Could not load dynamic library 'cudnn64_7.dll'; dlerror: cudnn64_7.dll not found
即使我为 Cuda 10.1 安装了新发布的 cuDnn 8.0.3(参见 cuDNN 8.x support matrix) 我回到了 cuDNN 7.6.5,但我希望获得 NVIDIA 声称的“快 5 倍”的 cuDNN v8.0。
关于如何完成这项工作的任何帮助或解决方法?谷歌搜索让我得到的结果实际上不到 5 个!因为似乎没有多少人可以尝试新的 8.0.3(10.1 版本)
【问题讨论】:
-
当二进制文件(如 Tensorflow)被编译时,它会链接到各种库。对于 cudnn(以及 cudart 和其他 CUDA 库),二进制文件链接的特定版本(在某些范围内)是您必须提供的版本。如果 TF 二进制文件与
cudnn64_7.dll链接,则不能替换cudnn64_8.dll。为了使替换工作,您必须重新编译/重建 TF 二进制文件。从错误消息中可以明显看出,您的特定 TF 二进制文件需要 7.x 版本的 cudnn。 -
我查看了我的 TF 项目的 lib 文件并将所有 64_7 替换为 64_8 名称/配置。然而我对此一无所知。我想知道从源代码编译 TF 是否会有所帮助(虽然 Windows 10 不支持)
-
同样的问题.. 安装了 CUDA 10.1 + cuDnn 8.0.3 和同样的错误
标签: tensorflow2.x