簡體   English   中英

(Tensorflow-GPU) 導入 tensorflow ImportError: 找不到 'cudnn64_7.dll'

[英](Tensorflow-GPU) import tensorflow ImportError: Could not find 'cudnn64_7.dll'

在 anaconda 下創建 tensorflow 環境后,我安裝了 tensorflow-gpu。 然后我試圖導入 tensorflow 以驗證它是否正確安裝,但出現此錯誤:

ImportError: Could not find 'cudnn64_7.dll'. TensorFlow requires that this DLL be installed in a directory that is named in your %PATH% environment variable. Note that installing cuDNN is a separate step from installing CUDA, and this DLL is often found in a different directory from the CUDA DLLs. You may install the necessary DLL by downloading cuDNN 7 from this URL: https://developer.nvidia.com/cudnn

設置是:

NVIDIA GTX 1080
CUDA 9.0
cuDNN 6.0
tensorflow-gpu 1.5

環境變量是:

CUDA_PAT: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0
CUDA_PATH_V9_0: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0

%Path% 變量是:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\libnvvp
C:\Users\yshen\AppData\Local\cudnn-8.0-windows10-x64-v6.0\cuda\bin

很明顯我安裝了cuDNN6.0,不知道為什么錯誤顯示“找不到'cudnn64_7.dll'”。 為什么它會自動搜索 cudnn64_7.dll 而不是 cudnn64_6.dll?

另外,當我安裝TensorFlow 1.8時出現以下錯誤。 我有 Anaconda 環境。

“導入錯誤:找不到‘cudnn64_7.dll’”

但是在我安裝了Nvidia cuDNN v7.1.3 (2018 年 4 月 17 日)之后,對於CUDA 9.0 ,一切都開始工作了。 請注意,需要注冊為 Nvidia 開發人員才能下載安裝包。

然后,只需按照頁面中的說明進行操作: cudnn-install

對於 Windows:

3.3. 在 Windows 上安裝 cuDNN

以下步驟描述了如何構建 cuDNN 依賴程序。 在以下部分:

-您的 CUDA 目錄路徑稱為C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v9.0

-您的 cuDNN 目錄路徑稱為<installpath>

  1. 導航到包含cuDNN <installpath>目錄。

  2. 解壓縮 cuDNN 包。 -cudnn-9.0-windows7-x64-v7.zip-cudnn-9.0-windows10-x64-v7.zip

  3. 將以下文件復制到 CUDA Toolkit 目錄中。

    • <installpath>\\cuda\\bin\\cudnn64_7.dllC:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v9.0\\bin
    • <installpath>\\cuda\\ include\\cudnn.hC:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v9.0\\include
    • <installpath>\\cuda\\lib\\x64\\cudnn.libC:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v9.0\\lib\\x64
  4. 設置以下環境變量以指向 cuDNN 所在的位置。 要訪問$(CUDA_PATH)環境變量的值,請執行以下步驟:

    • 從“開始”菜單打開命令提示符。
    • 輸入Run 並按Enter 鍵
    • 發出控制sysdm.cpl命令。
    • 選擇窗口頂部的高級選項卡。
    • 單擊窗口底部的環境變量。
    • 確保設置了以下值: 變量名稱: CUDA_PATH變量值: C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v9.0
  5. 在 Visual Studio 項目中包含 cudnn.lib。

    • 打開 Visual Studio 項目並right-click project name
    • 單擊Linker > Input > Additional Dependencies
    • 添加cudnn.lib並單擊OK

根據您之前的回答,您似乎發現預構建的 tensorflow-gpu 1.5 與 CUDA 9.0 + CudNN 6.0 不兼容。 如果您想使用 tensorflow-gpu 1.5,您的答案有兩種可能的解決方案:

1、將你的CUDA工具鏈升級到CUDA 9.0+Cudnn 7.0(目前CUDA 9.0為Cudnn 7.0.5)。

2、為CUDA 9.0 + cudnn 6.0重新編譯tensorflow-gpu 1.5 target。

我建議選擇第一個選項以方便。 但是tensorflow 1.5的官網並不否認選項2的可能性: https : //github.com/tensorflow/tensorflow/releases/tag/v1.5.0

就我而言,我需要安裝此處鏈接的舊 cuDNN 庫

只需提出解決方案:

我檢查了 \\tensorflow\\python\\platform\\build_info.py 並發現:

msvcp_dll_name = 'msvcp140.dll'
cudart_dll_name = 'cudart64_90.dll'
cuda_version_number = '9.0'
nvcuda_dll_name = 'nvcuda.dll'
cudnn_dll_name = 'cudnn64_7.dll'
cudnn_version_number = '7'

它假設 cudnn 版本是 7。所以只需要將其更正為:

cudnn_dll_name = 'cudnn64_6.dll'
cudnn_version_number = '6'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM