【TensorFlow】Win10+TensorFlow-gpu1.9.0+CUDA9.0+cudnn7.1.4(2018/11/02)
折騰了一天多,終於配置成功了orz
本篇文章是2018年11月2日寫的,Win10,顯示卡為960M
下載版本為:(請注意相容性)
Anaconda3 5.3.0
TensorFlow-gpu 1.9.0
CUDA9.0
cudnn7.1.4
0、檢測自己的顯示卡能否安裝gpu版本
1.右鍵“我的電腦”-屬性-裝置管理器-顯示介面卡,裡面有顯示卡型號(我的是GeForce GTX 960M)
2.點選https://developer.nvidia.com/cuda-gpus,在裡面查詢自己的顯示卡型號(比如我的顯示卡在GeForce這一欄下找到了)
3.如果沒有的話就無法使用tensorflow-gpu了
一、下載Anaconda3
1.點選下面的清華映象連結,選擇需要的版本下載(我下載的是截至2018.11.2最新的5.3.0 x86-64版本)
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
下載完的檔案如下圖所示:
2.雙擊下載完的檔案,點選Next-I Agree,進入下面的頁面
選擇Just Me,點選Next,進入下面頁面,自己選擇安裝路徑(安裝位置必須為空資料夾),再點選Next
進入下面頁面,兩個都打勾,不用管紅字,點選Install安裝。
安裝完成後,在開始欄中應該有下列快捷方式:
二、下載CUDA9.0
點選上述網站,找到9.0版本,點選“CUDA Toolkit 9.0”
依次選擇 Windows、X86_64、10、exe[local]
點選下載第一個:
第一個下載檔案Base Installer如下,雙擊進入:
選擇路徑,點選OK:
之後一路點選下一步就好。
驗證是否安裝成功:
點選開啟Anaconda Prompt(開始欄裡有快捷方式)
輸入以下程式碼並回車(注意第二個V是大寫的),檢視CUDA的版本:
nvcc -V
出現以下介面,最後一行可以看到是9.0版本:
附上自己的環境變數(應該是下載過程中自動新增的):
Path中:
三、下載cuDNN7.1.4
點選https://developer.nvidia.com/cudnn,選擇Download cuDNN
然後會需要註冊登入,用qq郵箱註冊就好,登入後在下面的小框裡打勾,並點選“Archived cuDNN Releases”
找到需要下載的版本,點選,v7.1.4 for CUDA 9.0(剛剛下載過了CUDA9.0)
選擇for Windows10,點選下載
下載完了之後解壓:
點選cudnn-9.0-windows10-x64-v7.1\cuda\進入如下介面,把前三個檔案複製:
然後開啟剛剛下載的CUDA9.0的下載位置(實在找不到就在電腦裡搜尋“CUDA”或者“v9.0”這些關鍵詞吧):
(本人在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0)
直接貼上到下面這裡:
四、下載tensorflow-gpu1.9.0
點選“Anaconda Prompt”,進入下面頁面
輸入以下程式碼,之後敲回車,意為建立一個名字為“tensorflow-gpu”的虛擬環境,這個環境使用的python版本為3.6
conda create -n tensorflow-gpu python=3.6
出現以下介面,輸入“y”敲回車:
然後出現以下介面,證明建立虛擬環境成功:
然後輸入以下程式碼,敲回車,啟用剛剛建立的名為“tensorflow-gpu”的環境:
activate tensorflow-gpu
輸入以下程式碼,敲回車,升級pip到最新版本:
python -m pip install --upgrade pip
然後輸入以下程式碼,敲回車,下載tensorflow-gpu 1.9.0,然後靜靜等待其下載完成。
pip install tensorflow-gpu==1.9.0
五、嘗試用gpu加速測試程式碼
在剛剛下載完gpu的Anaconda Prompt介面裡輸入python並回車:
接著輸入以下程式碼(直接複製貼上回車就好):
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
出現以下介面:可以看到我的GPU裝置號為0,名字為960M,運算能力為5.0
再輸入一段測試程式碼(同樣複製貼上回車),用tf.matmul實現a和b兩個矩陣相乘,輸出結果矩陣c:
#Creates a graph.
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)
#Creates a session with log_device_placement set to True.
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
#Runs the op.
print (sess.run(c)) #python3.6版本一些書寫規則有變化
可以看到最後輸出了結果:
【11.2後記】
1.還是要說的是,關於CUDA和cuDNN,我反覆下載解除安裝了多遍(因為版本不對)
甚至連Anaconda安裝時也報錯過(因為提前裝過java),快捷方式突然消失過(於是我又解除安裝重灌了一次)
我也像其他教程那樣下載了顯示卡驅動(好像沒有什麼用因為會被覆蓋)
但沒像其他教程那樣下載VS(已經有2017了啊為啥還要我裝2015?而且裝完有啥用啊)
環境變數加了又刪(請告訴我為什麼每個教程都不同)
所以從最開始到現在執行成功,其實都是玄學
希望大家都能安裝成功
因為gpu加速起來真的很爽
2.參考的部落格太多太多了,只列出現在還記得的幾個:
Win10 64 位Tensorflow-gpu安裝(VS2017+CUDA9.2+cuDNN7.1.4+python3.6.5)
照例感謝以上大神orz。