anaconda通過pip方式安裝tensorflow-gpu

相比上一篇博客,這篇的區別在於獨立安裝cuda和cudnn,以及用pip的方式安裝相關的包。

開始還是說一下我的電腦環境:
win10 LTSC、vs2015 update 3、geforce 1060m、cuda10.0、cudnn7.6.5.32、tensorflow-gpu2.0.0.

在cuda和cudnn版本保持不變的情況下,測試過的tensorflow-gpu的版本有2.1.0、2.0.2、2.0.0、1.15.3、1.14.0、1.13.1。

步驟一、安裝cuda和cudnn

cuda下載網址:https://developer.nvidia.com/cuda-10.0-download-archive?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exelocal

cudnn下載地址:https://developer.nvidia.com/compute/machine-learning/cudnn/secure/7.6.5.32/Production/10.0_20191031/cudnn-10.0-windows10-x64-v7.6.5.32.zip

先安裝後cuda後,將cudnn的解壓複製到cuda安裝目錄下,如我的目錄爲:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0

網上有的教程說需要設置cuda相關的環境變量,我倒是沒設置,採用默認的。

步驟二、更新顯卡驅動至最新

cuda10.0默認安裝的顯卡驅動爲411.31,爲避免由於驅動版本低而帶來的後續問題,我這裏採用極端的方式,將其更新到最新,具體是先將原來的舊驅動刪除,然後重新用360驅動大師進行安裝,最終安裝的版本爲:441.41。

步驟三、創建並激活anaconda虛擬環境

python版本爲3.7,命令如下:

conda create -n tf-gpu python=3.7

conda activate tf-gpu

步驟四、查詢可安裝的tensorflow-gpu版本

pip install tensorflow-gpu==

得到:

最終選擇2.0.0進行安裝

pip install tensorflow-gpu==2.0.0

安裝過程中遇到的問題及解決辦法

問題一、ImportError: DLL load failed: 找不到指定的模塊

執行"import tensorflow as tf"出現的錯誤。可能產生的原因有多種,但我遇到的這個問題的原因是安裝了高版本的tensorflow,比如2.1.0,與當前的cuda和cudnn的版本不匹配,降低到合適的版本就不會出現這個錯誤。

問題二、GPU 調用問題:failed call to cuInit: CUDA_ERROR_NO_DEVICE: no CUDA-capable device is detected

安裝完tensorflow後,import部分沒問題,但運行代碼會出現這種問題,即檢測不到GPU,轉而採用CPU運行程序。

我的解決辦法:更新顯卡的驅動程序,原來我的顯卡驅動版本爲411.31,升級到441.41後,再在代碼中添加:

import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0"

這個問題消失。

問題三、可能出現:

tensorflow.python.framework.errors_impl.UnknownError:  Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.

因爲cudnn版本不兼容導致。在我安裝了cudnn版本爲7.5.1.10,升級爲7.6.5.32後該問題消失

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章