Windows 安裝 TensorFlow、CUDA Toolkit、cuDNN
- 整體流程概述
- TensorFlow 與 CUDA Toolkit
- TensorFlow 是一個基于數據流圖的深度學習框架
- CUDA 充分利用 NIVIDIA GPU 的計算能力
- CUDA Toolkit
- cuDNN
- 安裝詳細流程
- 整理流程一:安裝 CUDA Toolkit
- 步驟一:獲取CUDA版本信息
- 步驟二:下載安裝 CUDA Toolkit
- 步驟三:按照默認步驟安裝
- 步驟四:檢查CUDA安裝成功
- 整體流程二:安裝cuDNN
- 步驟一:下載 cuDNN
- 步驟二:解壓縮下載的 zip,并將其中的文件復制到 CUDA Toolkit 的相應目錄
- 步驟三:配置環境變量
- 整體流程三:安裝 TensorFlow-gpu
- 步驟一:Anaconda中創建新的環境
- 步驟二:查看下載 tensorflow-gpu 的版本號
- 步驟三:檢查整體流程安裝成功
- 步驟四:檢查 cuDNN 安裝成功可用
整體流程概述
TensorFlow 與 CUDA Toolkit
TensorFlow 是一個基于數據流圖的深度學習框架
- TensorFlow是一個基于數據流圖的深度學習框架,它使用張量(Tensor)作為數據的基本單位,在GPU上進行張量運算可以極大地提高深度學習模型的訓練和推理速度。而CUDA則提供了在GPU上執行高性能并行計算所需的API和運行時環境,能夠實現深度學習任務的加速。
CUDA 充分利用 NIVIDIA GPU 的計算能力
- 安裝 TensorFlow 之前需要首先安裝 CUDA,準確的說是 CUDA Toolkit。是因為 TensorFlow 使用 CUDA 作為其后端計算引擎。CUDA 是由 NVIDIA 提供的并行計算平臺和編程模型,可以充分利用 NVIDIA GPU 的計算能力,實現高性能的并行計算。
CUDA Toolkit
- 即 TensorFlow 默認會安裝與系統和 GPU 兼容的版本,這需要依賴 CUDA Toolkit。CUDA Toolkit 包含 GPU 驅動程序、CUDA Runtime 庫和相關工具,使 TensorFlow 能夠與 NVIDIA GPU 進行交互并利用其計算能力。
cuDNN
-
在安裝 TensorFlow 之前需要安裝 cuDNN(CUDA Deep Neural Network library),是因為 TensorFlow 使用 cuDNN 來加速深度神經網絡的計算。cuDNN 是由 NVIDIA 開發的用于深度學習的 GPU 加速庫,它針對深度神經網絡的計算任務進行了高度優化,可以顯著加快訓練和推理過程。
-
TensorFlow 通過調用 cuDNN 的 API 來利用 GPU 上的硬件加速功能,特別是在卷積操作等深度學習任務中,cuDNN 能夠提供很大的性能提升。在沒有 cuDNN 的情況下,TensorFlow 會使用 CPU 來執行這些計算任務,但是由于 CPU 的計算速度相對較慢,處理大規模的深度學習模型時可能會非常耗時。
安裝詳細流程
整理流程一:安裝 CUDA Toolkit
步驟一:獲取CUDA版本信息
桌面 > 右鍵 >
NVIDIA控制面板
> 查看系統信息
> 點擊組件
> 查看NVCUDA64.DLL
的 CUDA版本 > 成功獲取CUDA版本信息;
步驟二:下載安裝 CUDA Toolkit
訪問 CUDA Toolkit Archive https://developer.nvidia.com/cuda-toolkit-archive 下載對應版本的
CUDA Toolkit
,根據步驟一中的 CUDA 版本信息(例如我的CUDA版本為12.0.134
),選擇下載 Toolkit 版本:
并開始下載,耐心等待10分鐘;
步驟三:按照默認步驟安裝
按照向導進行安裝即可;
步驟四:檢查CUDA安裝成功
安裝完成后,你可以在命令提示符或 PowerShell 中輸入以下命令來驗證 CUDA 是否成功安裝:
nvcc -V
或者同:
nvcc --version
如果安裝成功,將會輸出 CUDA 的版本號。下面我們進行安裝 cuDNN;
整體流程二:安裝cuDNN
步驟一:下載 cuDNN
-
訪問 cuDNN 下載網址:https://developer.nvidia.com/rdp/cudnn-download;
-
出現下圖界面說明你需要首先登陸你的 NIVIDIA 賬戶;
- 出現如下界面,需要根據本機的 CUDA 版本選擇安裝,如何獲取本機的 CUDA 版本?如下:
獲取CUDA版本信息:
桌面 > 右鍵 >NVIDIA控制面板
> 查看系統信息
> 點擊組件
> 查看NVCUDA64.DLL
的 CUDA版本 > 成功獲取CUDA版本信息,即12.x
- 根據上述獲得的 CUDA 版本信息,選擇下載
12.x
版本的cuDNN;
步驟二:解壓縮下載的 zip,并將其中的文件復制到 CUDA Toolkit 的相應目錄
- 解壓縮后應該包含三個文件夾和一個文件:
bin
、include
、lib
、LICENSE
- 將三個文件夾中的文件分別復制到各自的 CUDA Toolkit 目錄中
-
首先打開
bin
文件夾:
復制全部文件,粘貼到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\bin 文件夾中; -
然后打開
include
文件夾:
同樣復制全部文件,粘貼到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\include 文件夾中; -
最后打開
lib\x64
文件夾:
將全部文件粘貼到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\lib\x64 文件夾中;
-
步驟三:配置環境變量
- 確保將 CUDA 和 cuDNN 的安裝路徑添加到系統的環境變量中,這樣 TensorFlow 才能正確地找到這些庫和頭文件;
- cuDNN 中不會默認配置環境變量,需要讀者手動配置環境變量:
- 首先打開 環境變量 path 欄目:
- 將解壓縮后的 cuDNN 文件夾的
\bin
絕對地址復制粘貼:
C:\Users\xhong\Downloads\cudnn-windows-x86_64-8.9.3.28_cuda12-archive\cudnn-windows-x86_64-8.9.3.28_cuda12-archive\bin
完成!
cuDNN的完成檢查需要等待下一步 tensorflow-gpu
安裝完成后;
整體流程三:安裝 TensorFlow-gpu
- 在安裝完 cuDNN 后,再安裝 TensorFlow 時,TensorFlow 將能夠識別到你的 cuDNN 并自動與之集成,從而在 GPU 上運行深度學習任務時獲得顯著的加速效果。總之,安裝cuDNN是為了充分發揮GPU的計算能力,提高TensorFlow的性能和效率,特別是在處理復雜的深度學習模型時,cuDNN的優化可以為你節省大量時間。
步驟一:Anaconda中創建新的環境
-
建議在
Anaconda Prompt
中創建一個新的環境,因為我的base
環境已經安裝好了gpu
版本的torch
,而且如果都放在一個環境中更新環境會比較耗時; -
創建環境
tensorflow
conda create -n tensorflow pip python=3.8
-
激活環境
tensorflow
activate tensorflow
步驟二:查看下載 tensorflow-gpu 的版本號
https://www.tensorflow.org/install/source_windows?hl=zh-cn
網址最下方有一個表格,列有 GPU 的 CUDA、cuDNN 對照的安裝的 tensorflow-gpu 版本號
-
很明顯,根據我的 cuDNN(8.9.3.28) 與 CUDA(12.0.134) 版本的短板效應,我穩妥選擇
tensorflow_gpu-2.4.0
版本,建議讀者到這里也這么選擇,穩定能用就是了; -
輸入命令:
pip install --ignore-installed --upgrade tensorflow_gpu==2.4.0 # 注意將2.4.0替換為你的版本號
等待安裝完成!
步驟三:檢查整體流程安裝成功
-
打開 Pycharm,記得將環境從 base 切換到剛剛創建配置的 tensorflow:
import tensorflow as tf# 檢查是否有可用的 GPU 設備 if tf.config.list_physical_devices('GPU'):print('GPU可用') else:print("GPU不可用")
-
出現上圖所示 True,即完成安裝步驟,若出現
curand64_10.dll is not found
等標識,即說明下載安裝相關 CUDA Toolkit 版本出現意外錯誤,解決辦法為通過將文件中已含有的curand64_11.dll
文件重命名可解決問題,如下圖所示: -
bin文件目錄地址為:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\bin
-
安裝 CUDA 后,再安裝 TensorFlow 時,TensorFlow 將會自動與 CUDA 進行集成,并在 GPU 上利用 CUDA 的功能來加速深度學習任務。這樣,TensorFlow 能夠更高效地執行張量計算,從而顯著提高模型訓練和推理的速度。
步驟四:檢查 cuDNN 安裝成功可用
import tensorflow as tf# 檢查TensorFlow-gpu是否可用
print("TensorFlow-gpu available:", tf.test.is_gpu_available())# 檢查cuDNN是否可用
print("cuDNN version:", tf.config.list_physical_devices('GPU'))
完結撒花!!!!~~~~