Tensorflow GPU 无法加载动态库 'cusolver64_10.dll';dlerror: cusolver64_10.dll 未找到

Has*_*eeb 26 python gpu tensorflow

当我跑

import tensorflow as tf 
tf.test.is_gpu_available(
    cuda_only=False, min_cuda_compute_capability=None
)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误

在此处输入图片说明

Has*_*eeb 86

第1步

 Move to C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\bin
Run Code Online (Sandbox Code Playgroud) 第2步
Rename file cusolver64_11.dll  To  cusolver64_10.dll 
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

 cusolver64_10.dll 
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

  • 使用 powershell 创建符号链接也可以,并且可能是首选:`New-Item -ItemType SymbolicLink -Path .\cusolver64_10.dll -Target .\cusolver64_11.dll` (25认同)
  • 看起来不太专业的答案,但它有效。谢谢 :) (2认同)
  • 这将导致这个问题/sf/ask/3758862481/中的问题 (2认同)

lin*_*age 9

TL;DR 对于TensorFlow版本 >= 2.4.0 的版本,请准确安装下面突出显示Windows的版本,即官方要求中列出的版本。(v11.0 而不是 v11.2)CUDA ToolkitcuDNN

\n
\n

WindowsTensorFlow撰写本文时 ^ 安装要求如下所述

\n
    \n
  1. NVIDIA\xc2\xae GPU 驱动程序 \xe2\x80\x94CUDA\xc2\xae 11.0 需要 450.x 或更高版本。

    \n
  2. \n
  3. CUDA\xc2\xae 工具包\xe2\x80\x94TensorFlow 支持 CUDA\xc2\xae 11 (TensorFlow >= 2.4.0)

    \n
  4. \n
  5. CUPTI 附带 CUDA\xc2\xae 工具包。

    \n
  6. \n
  7. cuDNN SDK 8.0.4

    \n
  8. \n
  9. (可选)TensorRT 6.0,用于改善某些模型推理的延迟和吞吐量。

    \n
  10. \n
\n

您遇到的问题可能与 CUDA\xc2\xae Toolkit 的版本有关。Tensorflow对依赖项的版本很挑剔。看看里面C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.2\\bin**。您应该能够在那里找到所需的大部分 dll TensorFlow。您可能会注意到它包含的内容与输出中所述的cusolver64_11.dll预期相反。cusolver64_10.dll

\n

尽管上面答案中提到的重命名黑客有效,但不能保证它始终可靠地工作。简单而正确的解决方案是首先安装正确的依赖项。

\n

在撰写本文时,CUDA Toolkit和的兼容版本cuDNN

\n
CUDA Toolkit 11.0 (May 2020)\ncuDNN v8.0.4 (September 28th, 2020), for CUDA 11.0 \n
Run Code Online (Sandbox Code Playgroud)\n

从此处此处列出的大量可用版本中选择。

\n

尚不支持更新的版本(我从 v11.0 开始测试)。我记得几年前,早期版本的 TensorFlow 也遇到过同样的问题。

\n
\n

^ 对于版本 >1.15,TensorFlow默认包含 GPU 支持,因此需要 CUDA。当不可用时,TensorFlow工作正常 - 它只是恢复到 CPU 执行。
\n** 或者在您安装工具包的任何地方
\n^^cudnn64_8.dll附带cuDNN SDK

\n