Win10下GPU版TensorFlow安裝
開始學習深度學習時,一般都得安裝一個TensorFlow,我選擇安裝一個GPU版本的,因爲GPU版本的比CPU版本的計算性能高,TensorFlow在GPU上運行的速度比在CPU上快得多,以前用顯卡來玩遊戲做視覺渲染,現在用顯卡來玩深度學習,比較有趣。
1. 概念名詞解釋
安裝之前先要明白幾個概念,就是顯卡,顯卡驅動,CUDA,CUDNN。
- 顯卡
顯卡是硬件設備。顯卡不是GPU,顯卡的核心組件包含顯卡內存(簡稱顯存)和GPU(Graphics Processing Unit,圖像處理器),GPU含有DRAM,Control,Cache,ALU)顯存和DRAM不是一個東西,顯存存儲GPU將要處理的信息,DRAM存放GPU要執行的指令集,和GPU直接進行數據的交換。) - 顯卡驅動
顯卡驅動是一個軟件應用,是使得操作系統可以識別你的顯卡的一個軟件,將用戶的一些“人話”轉化爲GPU可以識別的“指令”,驅動程序向下直接和顯卡接觸。
我們想要操作顯卡,就必須安裝對應的顯卡驅動。 - CUDA
一個顯卡可以用來玩遊戲,可以用來跑機器學習。要玩遊戲,要在顯卡驅動上修改一些配置。
如果要跑深度學習,就需要安裝CUDA,(相當於添加庫的功能,我們通過CUDA)
CUDA是一個Nvidia顯卡的一個並行計算框架,顯卡想要並行計算,必須有一個並行計算框架(要被該顯卡的的顯卡驅動所支持),而且必須當而且只有當要解決的計算問題是可以大量並行計算的時候才能發揮CUDA的作用。 - CUDNN
CUDNN(CUDA Deep Neural Network library)CUDNN是CUDA的一個包。是專門用來處理深層神經網絡的一個GPU加速庫。(卷積操作需要用到),CUDNN是不需要安裝的,只需要下載後將其放入CUDA的指定路徑就可以調用了。
2. 安裝步驟
2.1 安裝 CUDA Toolkit
首先要先安裝 CUDA工具包,從官網上下載:cuda-toolkit-archive https://developer.nvidia.com/cuda-toolkit-archive,這裏儘量不要安裝新版本,避免跳進坑裏。我選擇安裝的版本是CUDA Toolkit 10.0 版,下載完後,直接點下一步下一步安裝即可。
2.2 安裝 cuDNN
安裝完CUDA工具包之後,安裝cuDNN,也是從官網上下載 NVIDIA cuDNN https://developer.nvidia.com/cudnn,下載時,需要先註冊一個免費的開發者賬戶。選擇下載的版本一定要與你剛安裝的CUDA Toolkit 的版本匹配,我這裏安裝的是 cuDNN v7.6.5 (November 5th, 2019), for CUDA 10.0 v7.6.5版本。安裝也很簡單,就是按照文檔的要求做,官方文檔:cudnn 安裝指南 https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html,先解壓下載的壓縮包 cudnn-10.0-windows10-x64-v7.6.5.32.zip,然後將裏面的文件拷貝到CUDA工具包安裝路徑下即可,類似如下
- cudnn-10.0-windows10-x64-v7.6.5.32\cuda\bin\cudnn64_7.6.5.32.dll 拷貝到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin.
- cudnn-10.0-windows10-x64-v7.6.5.32\cuda\ include\cudnn.h 拷貝到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\include.
- cudnn-10.0-windows10-x64-v7.6.5.32\cuda\lib\x64\cudnn.lib 拷貝到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\lib\x64.
最後再設置個環境變量即可,一般不用設置,安裝時會自動設置好的
Variable Name: CUDA_PATH
Variable Value: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0
2.3 安裝 tensorflow
這裏我用的是常規的pip安裝,參考官網的安裝文檔:https://tensorflow.google.cn/install/gpu 其實就是執行個pip安裝命令 pip install tensorflow-gpu==1.15 我選擇安裝的是舊版,因爲2.0版本在國內的中文教程少,2.0版和1.x版的api差別也比較大,所以建議先安裝學習舊版,等舊版玩熟了,再換裝新版。
安裝後敲個 Hello,tensorflow 命令驗證一下是否成功。
import tensorflow as tf
if __name__ == '__main__':
hello = tf.constant('Hello,tensorflow!')
sess = tf.Session()
print(sess.run(hello))
或者直接在CMD命令行裏面敲