【问题标题】:Tensorflow 2.2 and cudnn 8.0.3 not working together as they should. It still looks for cudnn 7.6.5 dll filesTensorflow 2.2 和 cudnn 8.0.3 不能正常工作。它仍然在寻找 cudnn 7.6.5 dll 文件
【发布时间】: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


【解决方案1】:

有同样的问题。 8.0.3 版本是CUDA 10.1 库的当前和最新支持版本。但是,tensorflow 是为早期版本构建的,因此您必须改用它。

如果您查看此页面,请详细说明:https://www.tensorflow.org/install/source_windows#tested_build_configurations

+----------------------+----------------+-----------+-------------+-------+------+
|       Version        | Python version | Compiler  | Build tools | cuDNN | CUDA |
+----------------------+----------------+-----------+-------------+-------+------+
| tensorflow_gpu-2.3.0 | 3.5-3.8        | MSVC 2019 | Bazel 3.1.0 |   7.6 | 10.1 |
+----------------------+----------------+-----------+-------------+-------+------+

所以,除非您在本地构建 TF - 您必须使用受支持的 cudnn 版本。

话虽如此,但是,如果您查看最新的 TF 版本: https://github.com/tensorflow/tensorflow/releases

然后您将看到以下TensorFlow 2.4.0-rc1 注释:

TensorFlow pip 包现在使用 CUDA11 和 cuDNN 8.0.2 构建。

您可以使用 TF 的候选发布版本,但是,您还必须将 CUDA 升级到 11(我猜是 11.0 版本,因为没有提到后缀)并使用 cuDNN v8.0.2 (July 24th, 2020), for CUDA 11.0

刚刚测试过 - 此设置有效。您只需要确保安装numpy 版本1.19.3 以避免这些线程中提到的问题

RuntimeError: The current Numpy installation fails to pass a sanity check due to a bug in the windows runtime

https://developercommunity.visualstudio.com/content/problem/1207405/fmod-after-an-update-to-windows-2004-is-causing-a.html

【讨论】:

  • 我接受了答案,即使我无法测试它。根据我的经验和 TF 团队 (github.com/tensorflow/tensorflow/issues/…) TF2.3 及更高版本将不支持我的 GPU 的 5.0 计算能力。我试图找到对此进行任何更改的参考,但没有找到任何...
猜你喜欢
  • 2021-01-29
  • 2020-10-02
  • 2019-01-07
  • 1970-01-01
  • 2019-04-02
  • 1970-01-01
  • 2023-02-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多