[英]Error loading cudart64_110.dll with python 3.8 and tensorflow 2.5.0 using conda on Windows
When I create a python 3.8 environment using tensorflow-gpu 2.5.0 package using conda, I get the error "Could not load dynamic library 'cudart64_110.dll'; dlerror: cudart64_110.dll not found". 但是,我有一个现有的 python 3.7 环境,它也有 tensorflow-gpu 2.5.0,它能够找到库 OK。
有趣的是,如果我克隆能够加载库的 python 3.7 环境,它也会加载到克隆的环境中,但是如果我使用 tensorflow-gpu 2.5.0 从头开始创建一个新的 python 3.7 环境,我会得到新环境中的错误。
我不确定为什么我能够在一个环境中加载库,但不能在其他环境中加载库,因为库在每个环境中都位于相同的位置,并且它应该是指向同一文件的链接package 缓存,无论如何。
在我能够加载 cudart64_110.dll 的 python 3.7 环境中,安装了以下相关软件包:
# Name Version Build Channel
cudatoolkit 11.3.1 h280eb24_9 conda-forge
python 3.7.12 h7840368_100_cpython conda-forge
tensorflow 2.5.0 gpu_py37h23de114_0
tensorflow-base 2.5.0 gpu_py37hb3da07e_0
tensorflow-gpu 2.5.0 h17022bd_0
在我无法加载 cudart64_110.dll 的 python 3.8 环境中,安装了以下相关包:
# Name Version Build Channel
cudatoolkit 11.3.1 h280eb24_9 conda-forge
python 3.8.12 h7840368_2_cpython conda-forge
tensorflow 2.5.0 gpu_py38h8e8c102_0
tensorflow-base 2.5.0 gpu_py38hb3da07e_0
tensorflow-gpu 2.5.0 h17022bd_0
请注意,两个环境都包含相同的 cudatoolkit 版本。
另外,我确实意识到我正在混合频道。 但是,(a)tensorflow 2.x 不能从 conda-forge 获得,并且(b)在这种情况下应该不重要,因为我可以在另一个环境中加载 tensorflow 和 ZA33B7755E5F9B504D2D038EACA4FF,但是,
对于tensorflow_gpu==2.5.0
,您需要安装CUDA 11.2
。
请检查以下经过测试的构建配置详细信息并安装合适的 cuDNN 和 CUDA 以使用TF-gpu 2.5
。
Version Python version Compiler Build tools cuDNN CUDA
tensorflow_gpu-2.7.0 3.7-3.9 MSVC 2019 Bazel 3.7.2 8.1 11.2
tensorflow_gpu-2.6.0 3.6-3.9 MSVC 2019 Bazel 3.7.2 8.1 11.2
tensorflow_gpu-2.5.0 3.6-3.9 MSVC 2019 Bazel 3.7.2 8.1 11.2
按照此链接在您的系统中安装指定的 CUDA 和 cuDNN。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.