2019年1月10日 星期四

windows 10 安裝 anaconda tensorflow gpu CUDA & cudnn

windows 10 安裝 anaconda tensorflow gpu CUDA & cudnn

首先,先安裝Anaconda3 


我是安裝3.7版本
安裝好後開啟Anaconda Navigator


開啟後畫面如下

  1. 點選左邊Environments
  2. 點選Create 新增一個Environments


  1. 選擇3.6版本的python環境,這邊要注意,如果安裝3.7版tensorflow會不支援。

建置好新環境後先把函式庫裝一裝:

  1. 點選剛建好的環境
  2. 點選Not installed
  3. 輸入tensorflow
  4. 在tensorflow-gpu 打勾
  5. Apply

點選Apply後安,這邊要有耐心,約等個5分鐘左右才會安裝完。
這邊順便把會用到的函示庫裝一裝:
1. numpy
2. matplotlib
3. SciPy
4. Pydot-ng
5. tensorflow
6. Keras


安裝好後在執行Anaconda Prompt (開始>Anaconda3>Anaconda Prompt)


輸入 activate pypy 激活剛剛新增的"pypy"  環境 ("pypy" 自己取名)


可以看到激活後紅框的地方會改成剛剛建立的環境,然後再輸入
> pip install tensorflow-gpu
跑完後輸入python
> python
接著會進入python 編譯
>>>import tensorflow as tf
>>>

如果沒有報錯,就是tensorflow已經安裝成功,接著就是要安裝CUDA & cuDNN
讓GPU來執行tensorflow。

安裝CUDA & cuDNN

這邊點擊查看最新tensorflow支持的CUDA版本

我們安裝的tensorflow是1.12.0版,對應到CUDA & cuDNN 是 CUDA(9) &cuDNN(7)
所以不要裝錯了。tensorflow是1.12.0版只支援9 & 7的版本。

在這個網址查找CUDA已發佈版本:https://developer.nvidia.com/cuda-toolkit-archive
我選擇下載9.2版本,網路上搜尋都說要9.0版,但我使用9.2沒有問題。

選擇Local版1.5GB,下載後安裝
選擇自訂安裝

如果已確定自己的NVIDIA 的driver已更新到最新,除了CUDA,另外都不要勾,我曾經勾選過,SSD直接掛掉開不了機,然後就系統重灌......
接著就一路下一步。

安裝好了之後,最後要安裝cuDNN

cuDNN歷史版本在該網址下載:https://developer.nvidia.com/rdp/cudnn-archive
下載cuDNN麻煩的是需要註冊賬號。登入帳號後才能下載。

我下載紅框的部分 cuDNN v7.4.1(Nov 8. 2018) for CUDA 9.2

下載後解壓縮會得到三個資料夾 :  bin, include, lib


將這三個資料夾複製到下面路徑底下
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2

測試是否使用GPU

我是使用pycharm IDE,在編譯環境選擇剛剛在conda下新增的"pypy"環境,輸入測試程式碼:

import tensorflow as tf
# 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))

會得到以下這些訊息:
a: (Const): /job:localhost/replica:0/task:0/device:GPU:0
b: (Const): /job:localhost/replica:0/task:0/device:GPU:0
2019-01-10 23:41:18.286498: I tensorflow/core/common_runtime/placer.cc:927] a: (Const)/job:localhost/replica:0/task:0/device:GPU:0
2019-01-10 23:41:18.286963: I tensorflow/core/common_runtime/placer.cc:927] b: (Const)/job:localhost/replica:0/task:0/device:GPU:0

其中/device:GPU:0 就是正在使用GPU執行tensorflow!!!


沒有留言:

張貼留言