1. 程式人生 > >win10配置CUDA+Tensorflow2.0的一些經驗

win10配置CUDA+Tensorflow2.0的一些經驗

目錄

  • 問題描述
    • 安裝 tensorflow-cpu-2.0
    • 安裝 tensorflow-gpu-2.0
    • 編譯 Nvidia Samples
    • 相關資源和其他問題

問題描述

網上已經很多關於配置CUDA的文章,自己這篇文章只是個大致的安裝步驟,文章重點是安裝和配置的一些細節,而至於具體的步驟(比如軟體怎麼下,環境變數怎麼配等)請自行搜尋,我相信大家也不會只參考一篇文章,如有指正或疑問請評論留言,謝謝!

  1. 安裝 tensorflow-cpu
  2. 安裝 tensorflow-gpu-2.0,並配置 CUDA
  3. 編譯 Nvidia Samples
  4. 環境:Win10;GPU--Nvidia 940MX

安裝 tensorflow-cpu-2.0

  1. 安裝 anaconda
    • 如果認為 anaconda 較大,可安裝 miniconda;
    • win10 下需要特別注意環境變數的配置,最好的檢驗方法
  2. 啟用 conda 環境
    • 建議新建一個環境,如 conda create -n env_name python=3.7
    • 新環境的 python 版本和要安裝的 tensorflow 的版本是相關的,所以如果要安裝最新版的 tensorflow-2.0,需要使用 python3.7 及以上。
    • pip 的更新和換源自行搜尋即可。Linux 的 pip 更新見自己的另一篇文章。
  3. 安裝 tensorflow-2.0
    • 最簡單的安裝方法是使用 pip 安裝。這樣的問題是:使用的時候會有 AVX Warning,原因是:pip 方法會提供的適配性最高的安裝包,但是當前 CPU 支援更高效的 tensorflow 使用方式(AVX),所以才會有這個 Warning
    • 解決方案是下載官方 tensorflow 的原始碼,重新編譯。當然網上也提供了編譯好了的版本,自行搜尋下載,安裝即可。
  4. 檢測是否安裝成功
    • 可以在 python 中輸入以下程式碼,能正常執行即可
    import tensorflow as tf
    a = tf.constant(1)
    b = tf.add(a, a)
    print(b)    

安裝 tensorflow-gpu-2.0

  1. 系統檢查
    • 電腦必須帶N卡,且安裝了驅動。建議安裝最新的N卡驅動,這樣做的原因是支援的CUDA的版本也相應的較高。
    • 開啟系統的 Nvidia控制面板,點選左下角 系統資訊 -- 元件 -- NVCUDA.DLL,自己的是 NVIDIA CUDA 10.2.115 driver. 這代表著 最高的CUDA版本是 10.2.115
  2. 軟體準備
    • 按照查到的這個版本,搜尋下載CUDA。不過當時自己安裝的時候,為了穩定性考慮,使用的是 CUDA10.0,所以請根據自身情況合理考慮。
    • 下載 CUDNN。這個需要使用 Nvidia 的賬號。請注意:CUDNN 和 CUDA 是匹配的,一定要下載對應的最新版本。比如 V7.6.6 和 V7.6.4 都是 CUDA10.0 的CUDNN,那麼選擇第一個。
    • 自己第一遍安裝的時候是按照其他文章所言的“版本對應”,但是測試的時候 import tensorflow報錯,找不到 cudnn64_7.dll檔案 。如果你在之後的測試中也是這個錯誤,請考慮是不是 CUDNN 的版本錯了,或者是CUDNN的安裝位置錯了。
  3. 安裝 CUDA & CUDNN
    • 選擇 自定義安裝 ;如果不想安裝在 C盤,但是為了以後使用方便,可以在D盤等其他位置新建相應目錄,比如:D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0
    • 如果沒有剛需,像是 NVDIA PHYSX,NVIDIA GEFORCE EXPERIENCE這樣的軟體沒有必要安裝;其中** VS Integration 不要勾選,NVIDIA 驅動也不要勾選**,因為我們已經安裝好了驅動。
    • 將 CUDNN 複製到相應的 CUDA 安裝檔案位置。
    • 配置環境變數,測試CUDA是否安裝成功等善後工作相信你也能在其他文章見到。
  4. 在 conda 環境中安裝 tensorflow-gpu 版本,測試能否使用 N卡計算

編譯 Nvidia Samples

  1. 安裝 VS2017,安裝中注意選擇安裝 Windows 10 SDK(10.0.15063)
  2. 最重要的一步 使用解壓縮軟體開啟 CUDA.exe ,解壓 MSBuildExtensions 這個資料夾出來(這就是上一步沒有選擇安裝 vs integration的原因),將這個資料夾下的檔案複製到 vs2017 的安裝目錄,自己的是 D:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\BuildCustomizations
  3. 開啟 Samples_vs2017.sln,可以在專案上右鍵--生成,如果報錯可檢視10.0.15063這個 SDK 版本是否安裝成功。生成成功的解決方案(.exe檔案)可以在 ..\Samples\V10.0\bin\win64\Debug 這個資料夾下檢視

相關資源和其他問題

  1. 關於 AVX 問題,大家可以在這個站點上下載到對應的 .whl 檔案,使用 pip install xxx.whl 即可安裝。請注意:這個站點的安裝包對於 CUDA 和 CUDNN 的版本是有規定的,一定要對應好!網頁連結