ImportError:找不到'cudart64_100.dll

时间:2019-08-16 16:21:04

标签: python tensorflow

我正在尝试在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

我从以下所有东西中获取了东西

但是错误仍然发生

我该如何解决?

8 个答案:

答案 0 :(得分:5)

最简单的修复方法是安装最新的“ 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下载的“ cudart64_100.dll”库(2018年9月),以便更轻松地将其复制到最新的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/

答案 1 :(得分:4)

我也遇到过类似的问题。我已经将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")

答案 2 :(得分:4)

我有类似的错误:

找不到

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 版本,请务必遵循相同的步骤,以确保正常工作。希望这对您有所帮助!!!

答案 3 :(得分:1)

只需重命名

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

cudart100.dll

答案 4 :(得分:1)

我还处理了当前情况,即tensorflow期望cudart64_101.dll,而NVIDIA提供了10.2版作为主要版本(包括cudart64_102.dll)。

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

答案 5 :(得分:0)

我在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计算工具包\ CUDA \ v11.0 \ bin
  • C:\ Program Files \ NVIDIA GPU计算工具包\ CUDA \ v11.0 \ libnvvp

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

答案 6 :(得分:0)

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

答案 7 :(得分:0)

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 可以找到它们。