文章目錄
- Python、CUDA、cuDNN、PyTorch 和 Anaconda 的介紹
- Python
- CUDA
- cuDNN
- PyTorch
- Anaconda
- 聯系
- 安裝
- n卡驅動更新
- 安裝 Anaconda
- Anaconda配置鏡像源
- CUDA安裝
- Cudnn安裝
- Anaconda初始化
- 創建虛擬環境
- 安裝 PyTorch
- 驗證安裝
- 可能的錯誤
- SSL錯誤
Python、CUDA、cuDNN、PyTorch 和 Anaconda 的介紹
在當今的深度學習和數據科學領域,Python、CUDA、cuDNN、PyTorch 和 Anaconda 是不可或缺的工具。
Python
- Python 是一種廣泛使用的高級編程語言,因其簡潔的語法和強大的庫支持而受到數據科學家和機器學習工程師的青睞。Python 提供了豐富的庫,比如 NumPy、Pandas 和 Matplotlib,使得數據處理和可視化變得更加簡單。此外,Python 還與許多深度學習框架兼容,特別是 PyTorch 和 TensorFlow。
CUDA
- CUDA(Compute Unified Device Architecture)是 NVIDIA 提供的一種并行計算平臺和編程模型,允許開發者利用 NVIDIA 的 GPU 進行通用計算。通過 CUDA,程序員可以編寫可以在 GPU 上運行的代碼,從而顯著加速計算任務。對于深度學習來說,使用 CUDA 可以大幅提高模型訓練和推理的速度。
cuDNN
- cuDNN(NVIDIA CUDA Deep Neural Network library)是一個用于深度神經網絡的 GPU 加速庫,它依賴于 CUDA 提供的并行計算能力。cuDNN 提供了一系列優化的算法,可以用來實現卷積、池化、歸一化等操作,幫助開發者在使用深度學習框架時提升性能。
PyTorch
- PyTorch 是一個開源的深度學習框架,由 Facebook 開發,廣泛用于學術研究和工業應用。PyTorch 支持動態計算圖,使得模型的構建和調試更加靈活和直觀。它天然與 CUDA 和 cuDNN 集成,能夠充分利用 GPU 的計算能力,加速深度學習任務。
Anaconda
- Anaconda 是一個用于科學計算的開源包管理和環境管理工具,特別適合數據科學和機器學習項目。它可以幫助用戶輕松管理 Python 版本和依賴庫,創建虛擬環境。通過 Anaconda,用戶可以快速安裝 PyTorch 及其依賴,并管理不同項目的環境。
聯系
- Python 是所有這些工具的基礎語言,用戶使用 Python 編寫深度學習模型。
- Anaconda 提供了一個簡化的環境管理和包安裝工具,使得用戶可以方便地安裝和配置 Python 及其相關庫,包括 PyTorch、CUDA 和 cuDNN。
- CUDA 提供了在 GPU 上并行計算的能力,PyTorch 可以利用 CUDA 來加速模型訓練。
- cuDNN 是專為深度學習優化的庫,PyTorch 在底層使用 cuDNN 來執行高效的神經網絡操作。
安裝
n卡驅動更新
- n卡驅動更新
安裝 Anaconda
- 下載并安裝Anaconda Anaconda 清華鏡像下載。
- 選擇最新和系統兼容的版本
Anaconda配置鏡像源
- anaconda鏡像源
#中科大
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/
#設置搜索時顯示通道地址
conda config --set show_channel_urls yes
#清華
conda config --add channels https:/mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
#設置搜索時顯示通道地址
conda config --set show_channel_urls yes
CUDA安裝
- 在終端使用
nvidia-smi
檢查顯卡支持的最高cuda版本,例如下圖中3060驅動最高值支持CUDA為12.8
C:\Users\kongyue>nvidia-smi
Wed Feb 19 15:11:29 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 572.16 Driver Version: 572.16 CUDA Version: 12.8 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Driver-Model | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA GeForce RTX 3060 WDDM | 00000000:04:00.0 On | N/A |
| 0% 44C P8 17W / 170W | 1043MiB / 12288MiB | 11% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
- 打開cuda版本列表,目前最新的版本為12.8,建議使用穩定版本12.6
- 正常點擊安裝包,進行安裝即可,如果出現系統檢查錯誤,請重啟電腦,再次安裝。
- 在終端輸入
nvcc -V
檢驗cuda安裝是否成功。
C:\Users\kongyue>nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2024 NVIDIA Corporation
Built on Wed_Oct_30_01:18:48_Pacific_Daylight_Time_2024
Cuda compilation tools, release 12.6, V12.6.85
Build cuda_12.6.r12.6/compiler.35059454_0
Cudnn安裝
- 查看cudnn和cuda的版本兼容文檔,可以看到cuDNN9.7.1支持較多本,還需要注意Nvidia驅動版本,建議更新到最新本版
- cuDNN歷史版本
- 下載cuDNN,如9.7.1版本https://developer.nvidia.com/cudnn-9-7-1-download-archive
- 可視化安裝cuDNN后,在終端執行命令檢驗cudNN是否安裝成功。
# 進入`C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6\extras\demo_suite`
cd C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6\extras\demo_suite
# 依次執行測試程序
bandwidthTest.exe
deviceQuery.exe
# bandwidthTest.exe 測試結果
Result = PASSNOTE: The CUDA Samples are not meant for performance measurements. Results may vary when GPU Boost is enabled.
# deviceQuery.exe 測試結果
deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 12.8, CUDA Runtime Version = 12.6, NumDevs = 1, Device0 = NVIDIA GeForce RTX 3060
Result = PASS
Anaconda初始化
- 使用管理員身份運行終端,輸入以下命令,防止出現’Run ‘conda init’ before ‘conda activate’'的錯誤提示
conda init
創建虛擬環境
conda create -n myenv python=3.9
conda activate myenv
安裝 PyTorch
- 安裝穩定版本的CUDA12.4(GPU版本)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124 -i https://pypi.tuna.tsinghua.edu.cn/simple
- 如果安裝出現問題,卸載命令如下:
#卸載當前pytorch
pip uninstall torch torchvision torchaudio
# 清除掉對應的pip緩存
pip cache purge
驗證安裝
- 通過以下 Python 代碼驗證 PyTorch 是否正確安裝并能夠使用 GPU:
import torch# 檢查 CUDA 是否可用
print(torch.cuda.is_available())if torch.cuda.is_available():# 獲取可用的 CUDA 設備數量print("可用的 CUDA 設備數量:", torch.cuda.device_count())# 獲取當前使用的 CUDA 設備索引print("當前 CUDA 設備索引:", torch.cuda.current_device())# 獲取指定索引 CUDA 設備的名稱print("當前 CUDA 設備名稱:", torch.cuda.get_device_name(0))# 創建一個張量并將其移動到 CUDA 設備上x = torch.tensor([1.0, 2.0]).cuda()y = torch.tensor([3.0, 4.0]).cuda()z = x + yprint("在 CUDA 上計算的結果:", z)
else:print("CUDA 不可用")
可能的錯誤
SSL錯誤
- 錯誤信息如下:
CondaSSLError: Encountered an SSL error. Most likely a certificate verification issue.
- 解決方法:關閉魔法上網工具即可