文章目錄
- 關鍵組件及關系
- 顯卡驅動GPU Driver
- CUDA
- CUDA Toolkit
- cuDNN
- Pytorch
- 各組件版本選擇
- 驅動程序
- CUDA
- 查看驅動及CUDA的最大支持版本
- CUDA Toolkit
- 選自定義安裝
- 檢驗
- 無法識別nvcc
- cuDNN
- conda
- pip換源
- conda管理py包
- conda 換源
- 查看列表、創建、克隆、激活、刪除
- conda包管理
- 包安裝原則
- 設置默認anaconda
- pytorch安裝
- 自動安裝
- 手動安裝
- 確定pytorch版本
- 確定torchvision與torchaudio版本
- 國內鏡像下載
- 安裝
- pip安裝
- 測試
關鍵組件及關系
參考1
參考2
顯卡驅動GPU Driver
介紹:顯卡驅動是連接操作系統與GPU硬件的驅動程序。負責管理GPU的基本功能:內存管理、任務調度和與操作系統的通信
作用:顯卡驅動程序是深度學習框架及CUDA Toolkit與GPU之間的橋梁。
CUDA
介紹:Compute Unified Device Architecture,NVIDIA 開發的并行計算平臺和編程模型,旨在加速通用計算任務,包括深度學習訓練與推理。
CUDA Toolkit
介紹:CUDA Toolkit 是一套軟件工具集,定義了一些用于GPU加速的數學庫。包含了編譯CUDA代碼所需的工具和CUDA的運行時庫。
作用:CUDA Toolkit 提供了編譯CUDA代碼的工具、CUDA運行時庫和各種GPU加速的數學庫,使開發者能夠方便地構建和優化GPU加速應用程序。
cuDNN
介紹:cuDNN 是NVIDIA的深度學習庫,調用CUDA Toolkit的基本庫函數,實現了專門用于加速深度神經網絡的訓練和推理,可用于各種深度學習框架。
作用:cuDNN 提供了用于加速卷積神經網絡(CNN)等深度學習操作的GPU實現,使深度學習框架能夠在GPU上獲得顯著的性能提升。
Pytorch
定義:PyTorch 是一個深度學習框架,提供用于構建和訓練神經網絡的高級API。
作用:PyTorch允許開發者構建靈活的神經網絡模型,并使用CUDA加速訓練和推理過程。
各組件版本選擇
顯卡驅動決定了本機器支持的最大CUDA的版本,CUDA版本決定了CUDA Toolkit 與cuDNN的版本,最后決定了Pytorch的版本
驅動程序
版本要求:必須與GPU硬件兼容,以確保GPU能正常工作并與操作系統和應用程序通信
更新顯卡驅動版本可以提高本機支持的最高CUDA版本
查看顯卡的最新驅動程序
CUDA
查看驅動及CUDA的最大支持版本
nvidia-smi
顯卡驅動與CUDA版本關系
- GA:General Availability,正式發布的版本。
- RC:Release Candidate,發行候選版本,是最終發布成正式版的前一個版本。
CUDA Toolkit
CUDA Toolkit Archive
選擇相應版本安裝即可
選自定義安裝
安裝過程注意避免用舊版本替換較高的版本
檢驗
安裝完成后在命令行中進行驗證
nvcc -V
無法識別nvcc
nvcc
不是內部或外部命令,也不是可運行的程序或批處理文件
只能是兩種問題:
- 安裝出錯
- 環境變量未配置完全
檢驗是否安裝正確
#1. cmd 轉到CUDA安裝目錄 XX\extras\demo_suite,分別執行
bandwidthTest.exe
deviceQuery.exe
若安裝正確,則二者均 Result = PASS
。否則需要重新安裝
環境變量
-
Path新增三個變量
D:\cuda\cuda12_3\lib\x64 D:\cuda\cuda12_3\include D:\cuda\cuda12_3\extras\CUPTI\lib64
-
重啟系統后生效,若想要不重啟生效
以修改環境變量“PATH”為例,修改完成后,進入DOS命令提示符,輸入:
set PATH=C:
,關閉DOS窗口。再次打開DOS窗口,輸入:echo %PATH%
cuDNN
下載地址
- “12.x” 是 CUDA 版本號的一種通用表示法,其中 “x” 表示可以是任何數字,表示適用于該主要 CUDA 版本的所有次要版本。
下載之后,解壓縮,將壓縮包里面的bin、clude、lib文件直接復制到CUDA的安裝目錄下(Development與Documentation目錄下),直接替換
conda
Miniconda/Anaconda區別在于Anaconda安裝后會附帶很多內容,省去安裝一些常見包的麻煩,同時對于一些人來說也會顯得比較臃腫。而Miniconda只包括了conda和python,內容簡潔,但缺點就是一些常見包需要手動下載。
- miniconda下載地址
- miniconda清華源
- anaconda下載地址
- 清華源
安裝流程注意勾選添加到環境變量即可
pip換源
#查看已安裝的包
conda list
pip list# 安裝包
pip install package_name[==version]
conda install package_name[==version]#移除包
conda remove numpy
pip uninstall numpy# 導入導出環境
conda env export > [配置文件路徑.yaml]
用配置文件創建新環境
conda env create -n [anaconda_name] -f [配置文件路徑.yaml]# 設置pip源
(learning) C:\Users\AmosTian>pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
Writing to C:\Users\AmosTian\AppData\Roaming\pip\pip.ini# 查看是否生效
pip config list# 阿里云鏡像源
http://mirrors.aliyun.com/pypi/simple/
# 清華大學鏡像源
https://pypi.tuna.tsinghua.edu.cn/simple/
# 國科大鏡像源
http://pypi.mirrors.ustc.edu.cn/simple/
# 豆瓣鏡像源
https://pypi.douban.com/simple/
conda管理py包
conda 換源
# 查看當前源
conda config --show channels# 設置安裝包時,顯示鏡像來源,建議顯示
conda config --set show_channel_urls yes # 恢復默認源
conda config --remove-key channels# 添加清華源
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --set show_channel_urls yes# # 修改conda 虛擬環境默認安裝位置,默認是在C盤下的
envs directories : D:\anaconda3\envsC:\Users\AmosTian\.conda\envsC:\Users\AmosTian\AppData\Local\conda\conda\envs# 修改為
conda config --add envs_dirs D:\anaconda3\envs
修改文件夾權限,確保所有用戶都有 所有權限
可以直接在 C:\Users\用戶名 目錄下找 .condarc
的文件,若不不存在新建一個
envs_dirs:- D:\anaconda3\envschannels:- http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/- defaults
show_channel_urls: true
auto_activate_base: true
查看列表、創建、克隆、激活、刪除
conda info -e
# conda信息
conda info# 查看當前conda 環境列表
conda env list# 創建conda環境
conda create -n [anaconda_name] python=3.
#克隆環境
conda create --name [new_anaconda_name] --clone [new_anaconda_name]# 刪除環境
conda remove --name [anaconda_name] --all# 激活環境
conda activate [anaconda_name]
conda包管理
# 在指定環境中管理包
conda list -n [anaconda_name]
conda install --name [anaconda_name] package_name
conda remove --name [anaconda_name] package_name
包安裝原則
conda有嚴格的檢查機制,它會保證你當前裝的package安裝好之后能work,但是,它只檢查用conda安裝過的package。pip裝的包不會檢查出來
安裝包,安裝方式盡量一致,不要混用,除非一些包用其中一種固定用的方式安不上。先conda,裝不上的包再pip
刪除包,誰安裝就由誰卸載,對于一些簡單的包也可以直接到 lib/site-packages
中進行手動刪除
設置默認anaconda
https://www.yingtwo.com/article/8435028.html
只修改prompt
- 到 conda 安裝目錄的 Script 文件夾下,找一個名為 activate.bat 的文件
- 將第24行
@CALL "%~dp0..\condabin\conda.bat" activate %*
中的%*
用[anaconda_name]
替換
修改prompt 與 powershell pompt
-
查看二者屬性窗口,發現其啟動目標都指向
D:\anaconda3
的默認 anaconda# prompt: %windir%\System32\cmd.exe "/K" D:\anaconda3\Scripts\activate.bat D:\anaconda3\envs\learn# powershell: %windir%\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy ByPass -NoExit -Command "& 'D:\anaconda3\shell\condabin\conda-hook.ps1' ; conda activate 'D:\anaconda3' "
-
將
D:\anaconda3
修改為D:\anaconda3\envs\learn
pytorch安裝
官網
參考
自動安裝
最新版本
-
修改為
conda install pytorch==2.1.1 torchvision==0.16.1 torchaudio==2.1.1 pytorch-cuda=12.1 -c pytorch -c nvidia# -c pytorch 會使用默認的pytorch源,下載速度慢
試過了解決方法, unsuccessful initial attempt using frozen solve
無解,換手動或pip安裝吧
手動安裝
確定pytorch版本
也可以在 Previous Pytorch Verion 中選擇CUDA相應的pytorch版本
# CUDA 11.8
conda install pytorch==2.1.1 torchvision==0.16.1 torchaudio==2.1.1 pytorch-cuda=11.8 -c pytorch -c nvidia
# CUDA 12.1
conda install pytorch==2.1.1 torchvision==0.16.1 torchaudio==2.1.1 pytorch-cuda=12.1 -c pytorch -c nvidia
# CPU Only
conda install pytorch==2.1.1 torchvision==0.16.1 torchaudio==2.1.1 cpuonly -c pytorch
官網的命令根據cuda以及pytorch的的版本有所不同,選擇對應的即可。
確定torchvision與torchaudio版本
根據選擇的pytorch版本,確定torchvision與torchaudio版本
https://gitcode.com/pytorch/vision/overview?utm_source=csdn_github_accelerator&isLogin=1
國內鏡像下載
鏡像
cuda版本12.1,python3.9,假設pytorch選用2.1.2
安裝
三個文件下載完成后,切換準備安裝torch的環境,切換到三個whl文件的目錄下,執行 pip install
pip安裝
pip install torch==2.1.2+cu121 torchvision==0.16.2+cu121 torchaudio==2.1.2+cu121 --extra-index-url https://download.pytorch.org/whl/cu121 -i https://pypi.tuna.tsinghua.edu.cn/simple
-i https://pypi.tuna.tsinghua.edu.cn/simple
:切換清華源+cu121
pip默認下載的是CPU版本,需要 指定下載GPU版本
測試
import torch# 檢查CUDA是否可用
print(torch.cuda.is_available())# 顯示當前CUDA版本
print(torch.version.cuda)
實際情況,有時需要我們根據pytorch版本倒推CUDA版本,若所需的pytorch版本低于當前CUDA的最低支持版本,則需要重新安裝CUDA環境