Python Tensorflow GPU无法加载动态库';cusolver64_10.dll';;错误:找不到cusolver64_10.dll
当我跑的时候Python Tensorflow GPU无法加载动态库';cusolver64_10.dll';;错误:找不到cusolver64_10.dll,python,tensorflow,gpu,Python,Tensorflow,Gpu,当我跑的时候 import tensorflow as tf tf.test.is_gpu_available( cuda_only=False, min_cuda_compute_capability=None ) 我得到以下错误 步骤1 Move to C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\bin 步骤2 Rename file cusolver64_11.dll To cusolver64_10
import tensorflow as tf
tf.test.is_gpu_available(
cuda_only=False, min_cuda_compute_capability=None
)
我得到以下错误
步骤1
Move to C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\bin
步骤2
Rename file cusolver64_11.dll To cusolver64_10.dll
我也有同样的问题。事实证明CUDA 11.0包含cusolver64_10.dll(这可能就是为什么他们在tensorflow构建指南中指出CUDA v11.0)。请务必下载cudnn TL;DR对于
Windows
上的TensorFlow
ver>=2.4.0,请准确安装以下突出显示的CUDA Toolkit
和cuDNN
版本,即官方要求中列出的版本。(v11.0与v11.2相对)
在
Windows
上,撰写本文时的TensorFlow
^安装要求如下所述
Tensorflow
对依赖项的版本很挑剔。查看C:\Program Files\NVIDIA GPU计算工具包\CUDA\v11.2\bin
**。您应该能够在那里找到TensorFlow
所需的大多数DLL。您可能会注意到,它包含cusolver64_11.dll
,而不是输出中所述的预期cusolver64_10.dll
尽管上面的回答中提到的重命名黑客可以工作,但它不能保证一直可靠地工作。简单而正确的解决方案是首先安装正确的依赖项
在编写时,CUDA Toolkit
和cuDNN
的兼容版本是
CUDA Toolkit 11.0 (May 2020)
cuDNN v8.0.4 (September 28th, 2020), for CUDA 11.0
从这两个版本的大量可用版本中,列出&
更新的版本(我测试了v11.0以后的版本)还不受支持。我记得几年前TensorFlow的早期版本也有同样的问题
^对于版本>1.15,
TensorFlow
默认包含GPU支持,因此符合CUDA要求。当不可用时,TensorFlow
工作正常-它只是恢复到CPU执行。**或安装工具包的任何位置
^^
cudnn64_8.dll
为TensorFlow 2.4.1附带了cuDNN SDK
,如果需要安装CUDA 11.2,重命名黑客将起作用。我建议为TF 2.4.1安装CUDA 11.0+cuDNN 8.0.4,正如@relege在上面所写的那样,这样就不需要重命名,您的GPU就会被识别
对于TensorFlow 2.5.0,我刚刚使用CUDA 11.2.2+cuDNN 8.1.1识别了我的GPU。在这种情况下,不要重命名cusolver文件。TF2.5.0需要“cusolver64_11.dll”文件名
c> python
Python 3.9.4 | packaged by conda-forge | (default, May 10 2021, 22:10:34) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
2021-05-28 08:11:24.517894: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library cudart64_110.dll
>>> print(tf.version.VERSION)
2.5.0
>>> print("Num GPUs Available: ", len(tf.config.list_physical_devices('GPU')),
... '\nDevice: ', tf.config.list_physical_devices('GPU'))
2021-05-28 08:12:19.501812: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library nvcuda.dll
2021-05-28 08:12:19.530869: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 0 with properties:
pciBusID: 0000:01:00.0 name: NVIDIA GeForce GTX 1080 with Max-Q Design computeCapability: 6.1
coreClock: 1.468GHz coreCount: 20 deviceMemorySize: 8.00GiB deviceMemoryBandwidth: 298.32GiB/s
2021-05-28 08:12:19.531377: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library cudart64_110.dll
2021-05-28 08:12:19.597785: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library cublas64_11.dll
2021-05-28 08:12:19.597992: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library cublasLt64_11.dll
2021-05-28 08:12:19.618849: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library cufft64_10.dll
2021-05-28 08:12:19.634321: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library curand64_10.dll
2021-05-28 08:12:19.677539: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library **cusolver64_11.dll**
2021-05-28 08:12:19.731541: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library cusparse64_11.dll
2021-05-28 08:12:19.746271: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library cudnn64_8.dll
2021-05-28 08:12:19.746674: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1871] Adding visible gpu devices: 0
Num GPUs Available: 1
Device: [PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]
>>>
使用powershell创建符号链接也可以,而且可能是首选:
New Item-ItemType symbolicink-Path.\cusolver64_10.dll-Target.\cusolver64_11.dll
@DouglasMarttinen谢谢它会帮助其他人为什么不使用cusolver64_11?即使在更新我的tensorflow之后,我也遇到了同样的问题…似乎不是太专业的答案,但它是有效的。谢谢:)这将导致这个问题中出现问题,您可以查看我在第一个答案中的评论。@Hong Cheng,是的,我与您在TF 2.5.0方面有相同的经验。我想,在以前尝试获得TF2.4.1的GPU支持时,我已经将该文件重命名为“cusolver64_10.dll”名称。使用CUDA Toolkit 11+,对TF 2.4.1使用“cusolver64_10.dll”,对TF 2.5.0保留原始文件名“cusolver64_11.dll”。
c> python
Python 3.9.4 | packaged by conda-forge | (default, May 10 2021, 22:10:34) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
2021-05-28 08:11:24.517894: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library cudart64_110.dll
>>> print(tf.version.VERSION)
2.5.0
>>> print("Num GPUs Available: ", len(tf.config.list_physical_devices('GPU')),
... '\nDevice: ', tf.config.list_physical_devices('GPU'))
2021-05-28 08:12:19.501812: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library nvcuda.dll
2021-05-28 08:12:19.530869: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 0 with properties:
pciBusID: 0000:01:00.0 name: NVIDIA GeForce GTX 1080 with Max-Q Design computeCapability: 6.1
coreClock: 1.468GHz coreCount: 20 deviceMemorySize: 8.00GiB deviceMemoryBandwidth: 298.32GiB/s
2021-05-28 08:12:19.531377: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library cudart64_110.dll
2021-05-28 08:12:19.597785: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library cublas64_11.dll
2021-05-28 08:12:19.597992: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library cublasLt64_11.dll
2021-05-28 08:12:19.618849: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library cufft64_10.dll
2021-05-28 08:12:19.634321: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library curand64_10.dll
2021-05-28 08:12:19.677539: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library **cusolver64_11.dll**
2021-05-28 08:12:19.731541: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library cusparse64_11.dll
2021-05-28 08:12:19.746271: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library cudnn64_8.dll
2021-05-28 08:12:19.746674: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1871] Adding visible gpu devices: 0
Num GPUs Available: 1
Device: [PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]
>>>