win10配置CUDA+Tensorflow2.0的一些經驗
阿新 • • 發佈:2020-02-24
目錄
- 問題描述
- 安裝 tensorflow-cpu-2.0
- 安裝 tensorflow-gpu-2.0
- 編譯 Nvidia Samples
- 相關資源和其他問題
問題描述
網上已經很多關於配置CUDA的文章,自己這篇文章只是個大致的安裝步驟,文章重點是安裝和配置的一些細節,而至於具體的步驟(比如軟體怎麼下,環境變數怎麼配等)請自行搜尋,我相信大家也不會只參考一篇文章,如有指正或疑問請評論留言,謝謝!
- 安裝 tensorflow-cpu
- 安裝 tensorflow-gpu-2.0,並配置 CUDA
- 編譯 Nvidia Samples
- 環境:Win10;GPU--Nvidia 940MX
安裝 tensorflow-cpu-2.0
- 安裝 anaconda
- 如果認為 anaconda 較大,可安裝 miniconda;
- win10 下需要特別注意環境變數的配置,最好的檢驗方法
- 啟用 conda 環境
- 建議新建一個環境,如
conda create -n env_name python=3.7
。 - 新環境的 python 版本和要安裝的 tensorflow 的版本是相關的,所以如果要安裝最新版的 tensorflow-2.0,需要使用 python3.7 及以上。
- pip 的更新和換源自行搜尋即可。Linux 的 pip 更新見自己的另一篇文章。
- 建議新建一個環境,如
- 安裝 tensorflow-2.0
- 最簡單的安裝方法是使用 pip 安裝。這樣的問題是:使用的時候會有 AVX Warning,原因是:pip 方法會提供的適配性最高的安裝包,但是當前 CPU 支援更高效的 tensorflow 使用方式(AVX),所以才會有這個 Warning
- 解決方案是下載官方 tensorflow 的原始碼,重新編譯。當然網上也提供了編譯好了的版本,自行搜尋下載,安裝即可。
- 檢測是否安裝成功
- 可以在 python 中輸入以下程式碼,能正常執行即可
import tensorflow as tf a = tf.constant(1) b = tf.add(a, a) print(b)
安裝 tensorflow-gpu-2.0
- 系統檢查
- 電腦必須帶N卡,且安裝了驅動。建議安裝最新的N卡驅動,這樣做的原因是支援的CUDA的版本也相應的較高。
- 開啟系統的 Nvidia控制面板,點選左下角 系統資訊 -- 元件 -- NVCUDA.DLL,自己的是 NVIDIA CUDA 10.2.115 driver. 這代表著 最高的CUDA版本是 10.2.115
- 軟體準備
- 按照查到的這個版本,搜尋下載CUDA。不過當時自己安裝的時候,為了穩定性考慮,使用的是 CUDA10.0,所以請根據自身情況合理考慮。
- 下載 CUDNN。這個需要使用 Nvidia 的賬號。請注意:CUDNN 和 CUDA 是匹配的,一定要下載對應的最新版本。比如 V7.6.6 和 V7.6.4 都是 CUDA10.0 的CUDNN,那麼選擇第一個。
- 自己第一遍安裝的時候是按照其他文章所言的“版本對應”,但是測試的時候
import tensorflow
報錯,找不到 cudnn64_7.dll檔案 。如果你在之後的測試中也是這個錯誤,請考慮是不是 CUDNN 的版本錯了,或者是CUDNN的安裝位置錯了。
- 安裝 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是否安裝成功等善後工作相信你也能在其他文章見到。
- 選擇 自定義安裝 ;如果不想安裝在 C盤,但是為了以後使用方便,可以在D盤等其他位置新建相應目錄,比如:
- 在 conda 環境中安裝 tensorflow-gpu 版本,測試能否使用 N卡計算
編譯 Nvidia Samples
- 安裝 VS2017,安裝中注意選擇安裝 Windows 10 SDK(10.0.15063)
- 最重要的一步 使用解壓縮軟體開啟 CUDA.exe ,解壓 MSBuildExtensions 這個資料夾出來(這就是上一步沒有選擇安裝 vs integration的原因),將這個資料夾下的檔案複製到 vs2017 的安裝目錄,自己的是
D:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\BuildCustomizations
- 開啟 Samples_vs2017.sln,可以在專案上右鍵--生成,如果報錯可檢視10.0.15063這個 SDK 版本是否安裝成功。生成成功的解決方案(.exe檔案)可以在 ..\Samples\V10.0\bin\win64\Debug 這個資料夾下檢視
相關資源和其他問題
- 關於 AVX 問題,大家可以在這個站點上下載到對應的 .whl 檔案,使用 pip install xxx.whl 即可安裝。請注意:這個站點的安裝包對於 CUDA 和 CUDNN 的版本是有規定的,一定要對應好!網頁連結