[英]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.