【发布时间】:2022-01-10 16:03:57
【问题描述】:
当我使用 conda 使用 tensorflow-gpu 2.5.0 包创建 python 3.8 环境时,我收到错误“无法加载动态库 '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 环境,我在那个新环境中遇到了错误。
我不确定为什么我能够在一个环境中加载库,但不能在其他环境中加载,因为库在每个环境中都位于相同的位置,并且它应该是返回到无论如何,包缓存中的相同文件。
在我我能够加载 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) conda-forge 不提供 tensorflow 2.x,并且 (b) 在这种情况下这无关紧要,因为我可以在一个环境中使用 CUDA 加载 tensorflow,但不能在另一个环境中加载。
【问题讨论】:
-
考虑编辑问题以向我们展示每个环境的相关安装包。例如,
conda list -n myenv '(tensorflow|cuda|python)'
标签: python windows tensorflow conda