0、寫在前面
之前其實安裝過一次tensorflow,但是由於電腦中毒,重裝了系統,把所有的環境全部刪除了。之前在博客里轉發了一篇別人在win10安裝tensorflow的教程,但是版本比較舊了,所以這次決定自己寫一下。
1、環境說明
這次安裝tensorflow是在Win10(1909)版本下,基於anaconda安裝的。anaconda隔離管理多個環境,互不影響,比較方便。
2、安裝anaconda
2.1 下載
這里選擇python 3.7版本的下載,根據自己系統實際的位數,下載對應的版本。 下載地址
/Anaconda 下載.png)
2.2 安裝
安裝過程其實默認就可以,有兩個地方可以設置一下:
/Anaconda安裝1.png)
/Anaconda安裝2.png)
2.3 檢查安裝結果
進入windows的命令行模式:
2.3.1 檢測Anaconda環境是否安裝成功(查看Anaconda版本號):conda --version
/查詢Anaconda版本號.png)
2.3.2 檢測目前安裝了哪些環境變量:conda info --envs
/查詢目前安裝了哪些環境變量.png)
2.3.3 查看當前有哪些可以使用的tensorflow版本:conda search --full --name tensorflow
/查看Tensorflow版本.png)
3、新建虛擬環境
3.1 創建環境tfenv並安裝python3.7:conda create --name tfenv python=3.7
/創建環境tfenv.png)
3.2 查看是否安裝成功
這里可以使用 2.3.2 中的命令查看是否成功安裝環境
/擦好看是否安裝成功.png)
4、安裝tensorflow
4.1 GPU版?CPU版?
判斷條件 | 結果 |
---|---|
顯卡是否為NVIDIA系列顯卡? | 是 = GPU;否 = CPU |
若是NVIDIA系列顯卡,計算能力如何? | 大於等於3.5 = GPU;小於3.5 = CPU |
解釋:
(1)首先,查看自己電腦顯卡的型號。如果顯卡是NVIDIA系列的,繼續下面步驟;如果顯卡不是NVIDIA系列的,直接裝CPU版。
(2)然后,如果是NVIDIA系列的,則查詢該顯卡的計算能力。詳見:查詢計算能力。點開自己顯卡對應的系列,查看自己顯卡的GPU計算能力(即,Compute Capability)。如下圖,顯卡NVIDIA GTX 1050對應的計算能力為6.1。
/GTX 1050 計算能力.png)
(3)最后,到官網查詢發布的GPU支持,查看硬件要求。本文查詢時的標准是3.5(如下圖)。如果計算能力≥3.5,可以裝GPU版;相反<3.5的只能選擇CPU版了。
/官網GPU支持.png)
(4)GPU和CPU兩個版本沒有太大的區別,只是計算的快慢問題,GPU版本的計算更快。
4.2 版本號如何選擇?
4.2.1 CPU版本的基本沒有特別的限制,選擇適合自己的就行。
4.2.2 確認自己的顯卡可以支持GPU版之后,Tensorflow-GPU版本的選擇主要看兩個指標:CUDA和cuDNN。需要下載安裝CUDA和cuDNN
4.2.3 CUDA版本的選擇:它依賴於顯卡的驅動程序版本,如下表,參考官方文檔。與下表進行對照選擇兼容的CUDA版本。
/NNVIDIA驅動版本號與CUDA版本的對應關系.png)
如:我電腦的的驅動程序版本號為:417.22,所以對應的CUDA Toolkit版本應為10.0版本
/本機顯卡驅動版本號.png)
4.2.4 確認cuDNN對應於CUDA的版本。參照tensorflow官網給出的標准,如下表。然后從Nivdia官網下載對應版本的cuDNN。
版本 | Python 版本 | 編譯器 | 編譯工具 | cuDNN | CUDA |
---|---|---|---|---|---|
tensorflow_gpu-1.13.0 | 3.5-3.6 | MSVC 2015 update 3 | Bazel 0.15.0 | 7 | 9 |
tensorflow_gpu-1.12.0 | 3.5-3.6 | MSVC 2015 update 3 | Bazel 0.15.0 | 7 | 9 |
tensorflow_gpu-1.11.0 | 3.5-3.6 | MSVC 2015 update 3 | Bazel 0.15.0 | 7 | 9 |
tensorflow_gpu-1.10.0 | 3.5-3.6 | MSVC 2015 update 3 | Cmake v3.6.3 | 7 | 9 |
tensorflow_gpu-1.9.0 | 3.5-3.6 | MSVC 2015 update 3 | Cmake v3.6.3 | 7 | 9 |
tensorflow_gpu-1.8.0 | 3.5-3.6 | MSVC 2015 update 3 | Cmake v3.6.3 | 7 | 9 |
tensorflow_gpu-1.7.0 | 3.5-3.6 | MSVC 2015 update 3 | Cmake v3.6.3 | 7 | 9 |
tensorflow_gpu-1.6.0 | 3.5-3.6 | MSVC 2015 update 3 | Cmake v3.6.3 | 7 | 9 |
tensorflow_gpu-1.5.0 | 3.5-3.6 | MSVC 2015 update 3 | Cmake v3.6.3 | 7 | 9 |
tensorflow_gpu-1.4.0 | 3.5-3.6 | MSVC 2015 update 3 | Cmake v3.6.3 | 6 | 8 |
tensorflow_gpu-1.3.0 | 3.5-3.6 | MSVC 2015 update 3 | Cmake v3.6.3 | 6 | 8 |
tensorflow_gpu-1.2.0 | 3.5-3.6 | MSVC 2015 update 3 | Cmake v3.6.3 | 5.1 | 8 |
tensorflow_gpu-1.1.0 | 3.5 | MSVC 2015 update 3 | Cmake v3.6.3 | 5.1 | 8 |
tensorflow_gpu-1.0.0 | 3.5 | MSVC 2015 update 3 | Cmake v3.6.3 | 5.1 | 8 |
根據上圖,根據對應的版本號,要安裝對應的CUDA 和 cuDNN 的版本,對於版本號大於1.13的tensorflow-gpu版本,如1.14、1.15和2.0,要安裝CUDA10.0,不要安裝最新的CUDA10.1,安裝后會提示缺少很多庫文件,而導致GPU版本的tensorflow無法使用,如下圖所示:
/CUDA10.1報錯.png)
4.2.5 根據上述的CUDA和cuDNN版本號,可以確定我們要安裝的tensorflow版本號,如,根據我本機,CUDA安裝10.0版本,cuDNN安裝7.6.4版本,那我選擇tensorflow-gpu-1.15版本安裝。
4.3 安裝CUDA以及cuDNN
4.3.1 下載安裝CUDA Toolkit
CUDA下載鏈接。記得下載 local 版本(即完整版,network版為精簡版)。
/選擇對應的CUDA版本進入下載.png)
/下載CUDA.png)
4.3.2 安裝CUDA
安裝CUDA有兩種方法:
第一種:先裝好對應CUDA需要的版本號,在裝CUDA時選擇不要重新安裝驅動
第二種:卸載掉已存在的驅動即確保系統上沒有安裝驅動,直接安裝CUDA
這里選擇第二種方法,故先卸載掉原來的NVIDIA驅動。卸載完成后,打開安裝程序,安裝路徑可以默認也可以自定義。之后點擊ok就行。
/CUDA安裝 1.png)
經過漫長的等待,來到了NVIDIA軟件許可協議,同意許可協議,並繼續
/CUDA安裝 2.png)
選擇高級
/CUDA安裝3.png)
默認全選
/CUDA安裝4.png)
這里要記住安裝路徑,可以更改自己的路徑
/CUDA安裝5.png)
勾選,繼續下一步
/CUDA安裝6.png)
接下來就是漫長的等待……
/CUDA安裝7.png)
安裝完成后,重啟即可,系統會自動添加環境變量。
驗證是否安裝成功:win + R,輸入:powershell
,執行命令:nvcc -V
/CUDA安裝 8 驗證.png)
4.3.3 下載 cuDNN
cuDNN下載地址 下載需要登錄NVIDIA賬號。
/選擇對應的cuDnn版本進入下載.png)
下載完成后,會得到一個壓縮包:cudnn-10.0-windows10-x64-v7.6.4.38.zip
4.3.4 安裝cuDNN
將下載的壓縮包,解壓並按下表的對應關系,將解壓出來的文件復制到CUDA安裝的對應路徑下:(注意是路徑中的文件)
這里要根據自己的情況來,圖中是我的解壓和安裝路徑:
/cuDNN安裝 1.png)
添加環境變量:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\lib\x64
/cuDNN安裝 2.png)
4.4 安裝tensorflow
自帶的源鏡像站下載可能比較慢,這里可以選擇修改為【清華大學鏡像站】:
打開Anaconda
/更改鏡像1.png)
在這邊更改為我們前面創建的虛擬環境tfenv,並點擊旁邊的按鈕Channels:
/更改鏡像2.png)
點擊add,並添加【中國科技大學鏡像站】的地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/並回車,在這也可以將默認的鏡像站刪除,點擊Update channels即可。
/更改鏡像3.png)
打開命令提示符,激活3.1創建的虛擬環境tfenv:activate tfenv
/安裝tf 1.png)
安裝TensorFlow-GPU-1.15.0:pip install tensorflow-gpu==1.15.0
, 安裝CPU版本的命令: pip install tensorflow==1.15.0
,等於后面為要安裝的tensorflow版本號
/安裝tf2.png)
/安裝tf 3.png)
安裝成功后,如果出現.dll文件無法加載情況,需重啟電腦!
4.5 測試
4.3.6.1 測試GPU是否工作,來自某位大佬的代碼,裝CPU版本的可以略過。
/測試 1.png)
如果都是TRUE安裝成功。
代碼:
import tensorflow as tf
a=tf.test.is_built_with_cuda()
b=tf.test.is_gpu_available(cuda_only=False,min_cuda_compute_capability=None)
print(a)
print(b)
4.3.6.2 測試代碼
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
輸出:b'Hello, TensorFlow!'