折騰了一天多TensorFlow-GPU的坑,安裝了兩次cuda。
本篇基於NVIDIA GeForce MX150 安裝 CUDA,cuDNN,Python(anaconda)TensorFlow-GPU(Windows10操作系統)
安裝順序: 查看配置環境 —> CUDA Toolkit —> cuDNN —> Visual Studio 2015 Community —> anaconda虛擬環境 —> TensorFlow-GPU —> 測試
一、安裝環境
我的電腦配置如下:
1.windows 10 64bit 專業版
2.Anaconda 2018.12 Python3.7(需要降級爲python3.6)
3. Visual Studio 2015 Community
4.顯卡支持NVIDIA GeForce MX150
5. cuda_9.0.176_win10_network.exe
6. cuDNN v7.0.5 (Dec 5, 2017), for CUDA 9.0
7.TensorFlow-gpu 1.7.0
8.Keras 2.2.4
9.numpy 1.16.2
10.PyQt5 5.12.1
軟件版本說明:
1.Visual studio 2015: 這個版本和CUDA8.0和CUDA9.0都兼容,VS2017和CUDA8.0不兼容,與CUDA9.0兼容。
2.Tensorflow-GPU版本坑
官方tensorflow1.6\tensorflow1.7版本均不支持cuda9.1。所以如果要安裝cuda9.1下的tensorflow1.6或1.7需要使用網上一個大神編譯的版本。由於我最終更換爲cuda9.0了就沒有試大神的版本。
網上看很多人都是卸載cuda9.1無法卸載乾淨,所以我就沒卸載,抱着試試看的心態,直接安裝了cuda9.0。然後把我的電腦環境變量中帶有cuda9.1字樣的都刪除了
二、安裝Visual Studio 2015 Community
安裝cuda前要先安裝visual Studio,否則無法使用
先上Visual Studio 2015 Community資源百度網盤 提取碼:f1qz (對!就是那麼貼心)
安裝VS2015前,請先斷網,不然安裝過程會下載一堆東西,過程極慢。安裝時只選擇Visual C++部分,其他都可以不裝,這樣安裝起來更快。安裝要一會兒,請耐心等待。
安裝過程可參考博客
需要注意的是:
安裝路徑可以自由選擇
自定義安裝不需要 VS2015 的全部組件,只需要與 C/C++ 相關的組件,所以這裏只選擇了“Visual C++”,將其它用不到的組件全部取消勾選。
然後。。。請開始你漫長的安裝等待吧。。。(喝杯茶,看個啥)
三、安裝CUDA Toolkit
需要使用TensorFlow-GPU請先查看電腦是否支持GPU顯卡:
1.設備管理器 —> NVIDIA GeForce MX150
如果顯卡不是NVIDIA GeForce MX150 請查看 網站或下圖配置你的CUDA
2.查看NVIDIA GeForce MX150 所適合的CUDA版本:
控制面板 —> NVIDIA控制面板 —> 系統信息 —> 組件
確定NVIDIA GeForce MX150支持CUDA9.1版本
從CUDA官網(https://developer.nvidia.com/cuda-toolkit-archive)下載cuda_9.0.176_win10_network.exe 如下圖
安裝CUDA:
- 文件解壓
這個地方的地址默認就好,應該就是暫時放一下,直接點OK
b.系統硬件兼容性
這個地方我的筆記本系統兼容性檢測說無法識別硬件,是否要繼續!”This graphics driver could not find compatible graphics hardware...“,這個地方可能是“因爲筆記本廠商一般都給自己的機器採用的顯卡添加了獨特的硬件ID,導致CUDA沒有包含這個ID,驅動認不出顯卡”,但是也不用擔心,可以繼續往下安裝
c.安裝選擇高級
勾選內容部分我是把所有已經安裝的驅動的勾點掉了,只安裝沒有的驅動,安裝路徑默認了,在這個地方可以記錄一下自己安裝的文件路徑
更新CUDA、Driver(不更新的話有可能導致NVIDIA控制面板打不開)、physx
安裝位置不需要改變,後面過程直接下一步即可。
安裝後可進入cmd裏面輸入nvcc -V 查看是否安裝成功,如下所示即安裝成功
四、安裝cuDNN
cuDNN可以在前面GPU的基礎上在提升1.5倍的速度,由NVIDIA開發,因此可以在官網中下載。在官網(https://developer.nvidia.com/rdp/cudnn-archive)下載需要先註冊。下載cuDNN v7.1.4 (May16, 2018), for CUDA 9.0 Windows10版本 (注意一定要與CUDA版本號對應)
下載完畢解壓會看到3個文件夾如下:
下載完成後解壓縮。裏面有bin、include、lib三個目錄,將三個文件夾內容複製到安裝CUDA的地方覆蓋對應文件夾內容,CUDA默認文件夾在:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0
1
檢查一下環境變量 我的電腦—> 屬性—> 高級系統設置—> 環境變量—>系統變量
中加入CUDA 的bin所在目錄環境
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin
如何cuDNN驗證是否安裝成功?
cuDNN無法直接驗證安裝成功,在之後TensorFlow-GPU安裝完畢後
import tensorflow as tf 若報錯ImportError: Could not find 'cudnn64_7.dll'.則證明安裝失敗。
五、配置Anaconda虛擬環境
在Anaconda中配置虛擬環境有兩種方法:
1.可以直接打開Anaconda Navigator,創建TensorFlow–GPU虛擬環境
2.也可以打開Anaconda Prompt ,輸入下面命令用於創建一個虛擬環境,名字叫TensorFlow–GPU, 同時指定python的版本,如果本機內沒有安裝這個版本的python,就會自動下載安裝.
conda create -n TensorFlow--GPU python=3.6
配置完虛擬環境env後可在Anaconda Prompt 中輸入:
激活環境
activate TensorFlow--GPU
退出環境
deactivate
在虛擬環境中安裝Spyder和Jupyter,此處我已安裝Spyder
在Environments中同樣安裝Spyder與ipython 以防報錯,此處我已安裝:
注意: 如果Anaconda默認安裝的python版本是3.7 應該降到python 3.6版本,打開Anaconda Prompt在TensorFlow–GPU 虛擬環境中輸入:
conda install python=3.6
1
六、安裝TensorFlow-GPU
打開Anaconda Prompt ,激活環境後,安裝TensorFlow-gpu即可(太慢也可用鏡像安裝)。
注意:TensorFlow-GPU版本使用1.6
七、測試
在TensorFlow-GPU虛擬環境中打開python 測試一下安裝是否成功。
輸入:
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())
等待片刻,如下圖所示,即安裝成功:
也可以跑個tensorflow語句試試試
import tensorflow as tf # 引入 Tensorflow 庫
gjm = tf.constant("Hello World ! I love TensorFlow ! ") #創建一個常量 Operation (操作)
sess = tf.Session() #啓動一個 TensorFlow 的 Session(會話)
print (sess.run(gjm)) #運行 Graph (計算圖) python3.x 專用語法
sess.close() #關閉 Session (會話)
在虛擬環境下的Spyder測試一下:
七、安裝keras
Pip install keras==2.2.4
八、報錯經驗
1.由於創建了虛擬環境,各類python包需要重新安裝,注意安裝的版本號對應(一、安裝環境 中幾個主要的包及版本已進行說明)
2.如果cuDNN版本與CUDA的版本不匹配import TensorFlow時會報錯:
ImportError: Could not find 'cudnn64_7.dll'.
需要仔細覈對cuDNN 與CUDA的版本匹配。