【问题标题】:ImportError: Could not find 'cudart64_100.dllImportError:找不到'cudart64_100.dll
【发布时间】:2019-12-22 23:29:06
【问题描述】:

我正在尝试在我的 Windows 10 机器上安装 tensorflow-gpu==2.0.0-beta1 并收到此错误:

ImportError:找不到“cudart64_100.dll”。 TensorFlow 需要 将该 DLL 安装在以您的 %PATH% 命名的目录中 环境变量。从此 URL 下载并安装 CUDA 10.0: https://developer.nvidia.com/cuda-90-download-archive

我创造了所有东西:

但还是会出错

我该如何解决这个问题?

【问题讨论】:

  • 听起来应该能找到。查看 Python 解释器在 os.environ['PATH'] 中看到的 PATH(在 Python 3 中,您可以使用 import os; print(*os.environ['PATH'].split(';'), sep='\n') 更轻松地阅读它)。如果您刚刚更改了环境变量,您可能需要打开一个新的命令行甚至重新启动系统。
  • @jdehesa,感谢您的评论。我确实重新启动了系统,但这对我没有帮助。我也有C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\binos.environ['PATH']
  • download.mersenne.ca/CUDA-DLLs/CUDA-10.0 在此链接中,您可以找到 cudart64_100.dll 文件。只需下载并粘贴到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin 即可。您的问题将得到解决。因沙阿拉。
  • 解决这个问题会导致另一个错误 - Could not find 'cudnn64_7.dll', here's an answer with all the steps

标签: python tensorflow


【解决方案1】:

最简单的修复方法是安装最新的“NVIDIA GPU Computing Toolkit”,因为如果不存在,您将丢失“cudart64_100.dll”库。 唯一的问题是 CUDA 的最新副本已将此特定库升级到“cudart64_101.dll”,而最新的 TensorFlow 仍需要较旧的“cudart64_100.dll”。 无论如何,解决此问题的一种方法是从 2018 年 9 月开始安装最新的 CUDA + CUDA,然后将“cudart64_100.dll”库从旧安装复制到新安装。

或者只是访问我的网站,我在其中链接了从 CUDA Toolkit 10.0(2018 年 9 月)下载的“cudart64_100.dll”库,以便更轻松地将其复制到最新的 CUDA 目录中。

这里有一些截图来说明这个过程:https://www.joe0.com/2019/10/19/how-resolve-tensorflow-2-0-error-could-not-load-dynamic-library-cudart64_100-dll-dlerror-cudart64_100-dll-not-found/

【讨论】:

  • 截至 2020 年 1 月关于 TF2.0 状态的最有用的评论。由于 cudart64_101.dll 不是 cudart64_100.dll 导致 TF 崩溃的耻辱。 (均为 CUDA 10.1)。
  • 请注意,Tensorflow 2.1–2.2 支持 CUDA 10.1 而不是 10.2。不是最新的 CUDA。
【解决方案2】:

我也遇到过类似的问题。我已将 cudart64_100.dll 文件的目录添加到 PATH 变量中,但仍然提示找不到错误“cudart64_100.dll”。最后,我终于设法通过添加以下代码使其工作。希望对您有所帮助。

import ctypes

hllDll = ctypes.WinDLL("C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v10.0\\bin\\cudart64_100.dll")

【讨论】:

  • 很遗憾这最终成为了解决方案——但这是唯一适用于我的解决方案。重装、重启等都失败了
  • 为什么要解决这个问题? Tensorflow 不应该自动做这样的事情吗?我怎样才能获得更持久的解决方案?
  • 这个解决方案也是唯一对我有用的解决方案。我必须像这样包含我所有的 DLL 文件。我使用的是从 Windows Store 安装的 python 版本...在从 python.org 卸载并安装 Python 后,我不再需要包含 WinDLL 语句。
【解决方案3】:

我有类似的错误:

找不到cudart64_101.dll

这是因为最新版本的 CUDA 需要较旧的 CUDA-version.dll 文件才能正常工作。解决方案是尝试安装以前版本的 CUDA

下载CUDA 10.1后,运行.exe 文件,该文件将首先提取C:\Users\your_user_name\AppData\Local\Temp\CUDA 中的必要文​​件。

解压完成后不要继续安装导航到目录C:\Users\your_user_name\AppData\Local\Temp\CUDA\cudart\bin,在这里你会发现缺少的DLL文件cudart64_101.dllcudart32_101.dll将这两个文件复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin然后取消安装。

对任何 CUDA 版本执行相同的步骤肯定会起作用。希望对你有帮助谢谢!!!

【讨论】:

【解决方案4】:

我也在处理 tensorflow 期望 cudart64_101.dll 和 NVIDIA 提供版本 10.2 作为主要版本(包括 cudart64_102.dll)的当前情况。

我只是安装了两个版本。我在 Windows 路径中有两个版本。除了磁盘空间之外,到目前为止我还没有遇到任何问题,并且在 tensorflow 中使用了 GPU。

【讨论】:

    【解决方案5】:

    重命名

    \program files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin\cudart64_102.dll 
    

    cudart100.dll

    【讨论】:

    • 这真的行不通。它似乎已加载,但稍后会出现运行时错误。最好降级到 10.0。
    【解决方案6】:

    我在 Windows 10 上遇到了同样的问题。我尝试将 CUDA 11 与 TensorFlow 2.2 一起使用

    TensorFlow 2.2 尝试导入 cudart64_101.dll、cusparse64_10.dll 和 cublas64_10.dll CUDA 11 中缺少上述 dll 文件。一种可能的解决方案是安装 cuda 10 并从那里获取 dll。但我不想这样做并尝试解决我的问题的这个技巧。我从第一个答案的帖子中下载了丢失的 dll!非常感谢这篇文章的作者! https://www.joe0.com/2019/10/19/how-resolve-tensorflow-2-0-error-could-not-load-dynamic-library-cudart64_100-dll-dlerror-cudart64_100-dll-not-found/

    转到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\bin

    • 将下载并重命名的 cudart64_101.dll 复制到该目录中
    • 复制 cusparse64_11.dll 并将其重命名为 cusparse64_10.dll
    • 复制 cublas64_11.dll 并将其重命名为 cublas64_10.dll

    之后 TensorFlow 2.20 开始成功导入,它能够“看到”我的 gpu

    其他重要的事情是检查系统环境PATH变量 确保包含以上行。

    • C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\bin
    • C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\libnvvp

    或者,如果您的机器上安装了多个 CUDA 版本,请确保您要使用的版本高于旧版本

    【讨论】:

      【解决方案7】:

      您可以在本网站link 中找到 cudart64_100.dll 文件。 并解压,将 cudart64_100.dll 添加到您的 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin 运行 python 脚本后,您将看到: 成功打开动态库cudart64_100.dll

      【讨论】:

        【解决方案8】:

        NVidia 维护旧 CUDA 驱动程序版本的下载存档。我建议从这里下载安装程序,而不是第三方存档:

        https://developer.nvidia.com/cuda-toolkit-archive

        该页面有一个链接到下载 10.0 版的页面:

        https://developer.nvidia.com/cuda-10.0-download-archive

        对于 CUDA-NN 库,可以在此处找到存档:

        https://developer.nvidia.com/rdp/cudnn-archive

        您需要成为 NVidia 开发者计划的成员才能访问此存档,但可以免费注册。

        一次安装多个版本应该没有问题,因为 CUDA 安装程序为每个版本使用单独的安装目录,并且库文件具有不同的名称。但是,您需要选择自定义安装以避免更换显示驱动程序,因为您安装的是旧版本。

        CUDA-NN 库(至少对于 Windows)以 zip 文件的形式分发。将内容复制到您想要的位置(我将每个内容安装为相应的 CUDA 驱动程序安装目录下的子目录)。

        最后,将所有各种 CUDA 和 CUDA-NN 目录添加到您的 PATH 中(如果它们尚不存在),以便 Python 和 Tensorflow 可以找到它们。

        【讨论】:

          猜你喜欢
          • 2019-01-20
          • 1970-01-01
          • 2018-11-19
          • 1970-01-01
          • 1970-01-01
          • 2020-04-16
          • 2020-12-04
          • 2018-07-22
          • 2016-08-19
          相关资源
          最近更新 更多