我正在尝试在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
我从以下所有东西中获取了东西
PATH
变量:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin
CUDA_PATH
:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin\cudart64_100.dll
存在但是错误仍然发生
我该如何解决?
答案 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目录中。
答案 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.dll
和cudart32_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
之后,TensorFlow 2.20开始成功导入,并且能够“看到”我的GPU
其他重要的事情是检查系统环境PATH变量 确保包括以上行。
或者如果您的计算机上安装了多个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 可以找到它们。