本文用來記錄windows系統(tǒng)上深度學(xué)習(xí)的環(huán)境搭建,目錄如下
一、安裝顯卡驅(qū)動
首先為裝有NVIDIA gpu的電腦安裝顯卡驅(qū)動,如果安裝過了,或者想使用cpu的,可以跳過這一步。(其實這一步可以跳過,因為顯卡驅(qū)動好想和深度學(xué)習(xí)環(huán)境沒什么關(guān)系,保險起見還是安裝上吧)
1. 去官網(wǎng)下載對應(yīng)的顯卡驅(qū)動:官方驅(qū)動 | NVIDIA? ? ?
2. 完成下載,選擇文件開始安裝,直接解壓在默認地址
3. 選擇自定義安裝選項,執(zhí)行清潔安裝(按情況選擇)
4. 一直點下一步即可。
二、安裝Visual Studio
可以跳過,但是很多深度學(xué)習(xí)環(huán)境需要用到,建議安裝
1. 官網(wǎng)下載 Visual Studio Tools - 免費安裝 Windows、Mac、Linux (microsoft.com)
2. 選擇python開發(fā)和c++桌面開發(fā),開始安裝
三、cuda+cudnn安裝
1. 打開cmd,輸入nvidia-smi查看GPU的CUDA版本,可以看到CUDA版本12.1,意味著只能安裝小于12.1的CUDA版本。
CUDA Toolkit Archive | NVIDIA Developer2. 去網(wǎng)站下載適合的CUDA版本:CUDA Toolkit Archive | NVIDIA Developer
要根據(jù)兩個條件選擇:
- 1. CUDA版本要小于上面的版本信息
- 2. 先去pytorch官網(wǎng)Start Locally | PyTorch,看一眼自己需要的pytorch版本對應(yīng)的CUDA版本
例如:pytorch1.12.0只支持CUDA10.2,11.3,11.6
3. 然后去官網(wǎng)下載:CUDA Toolkit Archive | NVIDIA Developer,以11.6版本舉例,選好系統(tǒng)參數(shù),點擊下載,
4. 下載完成,直接默認解壓位置
5. 默認勾選即可,點下一步
?
6. 安裝cudnn
去官網(wǎng)下載CUDA Deep Neural Network (cuDNN) | NVIDIA Developer,需要注冊一個NVIDIA賬號,然后選擇CUDA對應(yīng)版本的cudnn即可。
7. 下載cudnn后直接將其解開壓縮包,然后需要將解壓后的bin,include,lib文件夾復(fù)制粘貼到cuda安裝時的默認路徑文件夾下
?8. 檢查環(huán)境變量
9. 在cmd輸入nvcc -V,顯示CUDA版本即安裝成功
安裝多個CUDA環(huán)境:
如果要安裝多個CUDA環(huán)境的話,和上述步驟基本相同,其中在安裝時只需要選中cuda即可
如果要在各個CUDA間進行轉(zhuǎn)換,只需要修改環(huán)境變量即可。
例如:把CUDA11.6改為CUDA11.8,只需要把CUDA_PATH改為v11.8,并把Path中v11.6的路徑上移到v11.8之前,然后重啟電腦即可
四、anaconda安裝
1. 去官網(wǎng)下載安裝包:Free Download | Anaconda
2. 下載完成,進行安裝,建議安裝在非系統(tǒng)盤,以后會創(chuàng)建比較多的環(huán)境的話,剩下的默認安裝即可
五、pycharm安裝
1. 官網(wǎng)下載安裝包:PyCharm: the Python IDE for Professional Developers by JetBrains,可申請教育賬號免費下載專業(yè)版,如果沒有,下載社區(qū)版即可
2. 自行安裝即可
六、pytorch安裝,及在pycharm中選擇conda環(huán)境
1.首先創(chuàng)建一個conda環(huán)境,打開Anaconda prompt,輸入:conda create --name yourname python=3.10 -y
刪除環(huán)境輸入:?conda remove -n env_name --all
2. 輸入conda activate yourname 激活環(huán)境
2. 去官網(wǎng)找自己需要的pytorch版本:Start Locally | PyTorch?。選擇電腦參數(shù),并復(fù)制pip install命令,也可以去找之前的版本。
3. 將復(fù)制的pip install命令,粘貼在Anaconda prompt中,等待安裝即可
4.打開anaconda prompt命令行測試代碼
python
import torch
print(torch.__version__)
print(torch.cuda.is_available())
5.打開pycharm,選擇添加新的解釋器→添加本地解釋器→conda環(huán)境→/yourname/python.exe (這里不同版本的pycharm可能有點不一樣,只要能識別就行)
x
至此,環(huán)境搭建結(jié)束。。。。文章來源:http://www.zghlxwxcb.cn/news/detail-813031.html
安裝了yolov8的,可以試著訓(xùn)練一下yolov8文章來源地址http://www.zghlxwxcb.cn/news/detail-813031.html
from ultralytics import YOLO
if __name__ == '__main__':
# Load a model
model = YOLO(r'\ultralytics\detection\yolov8n\yolov8n.yaml') # 不使用預(yù)訓(xùn)練權(quán)重訓(xùn)練
# model = YOLO(r'yolov8p.yaml').load("yolov8n.pt") # 使用預(yù)訓(xùn)練權(quán)重訓(xùn)練
# Trainparameters ----------------------------------------------------------------------------------------------
model.train(
data=r'\ultralytics\detection\dataset\appledata.yaml',
epochs= 30 , # (int) number of epochs to train for
patience= 50 , # (int) epochs to wait for no observable improvement for early stopping of training
batch= 8 , # (int) number of images per batch (-1 for AutoBatch)
imgsz= 320 , # (int) size of input images as integer or w,h
save= True , # (bool) save train checkpoints and predict results
save_period= -1, # (int) Save checkpoint every x epochs (disabled if < 1)
cache= False , # (bool) True/ram, disk or False. Use cache for data loading
device= 0 , # (int | str | list, optional) device to run on, i.e. cuda device=0 or device=0,1,2,3 or device=cpu
workers= 16 , # (int) number of worker threads for data loading (per RANK if DDP)
project= 'result', # (str, optional) project name
name= 'yolov8n' ,# (str, optional) experiment name, results saved to 'project/name' directory
exist_ok= False , # (bool) whether to overwrite existing experiment
pretrained= False , # (bool | str) whether to use a pretrained model (bool) or a model to load weights from (str)
optimizer= 'SGD', # (str) optimizer to use, choices=[SGD, Adam, Adamax, AdamW, NAdam, RAdam, RMSProp, auto]
verbose= True ,# (bool) whether to print verbose output
seed= 0 , # (int) random seed for reproducibility
deterministic= True , # (bool) whether to enable deterministic mode
single_cls= True , # (bool) train multi-class data as single-class
rect= False ,# (bool) rectangular training if mode='train' or rectangular validation if mode='val'
cos_lr= False , # (bool) use cosine learning rate scheduler
close_mosaic= 0, # (int) disable mosaic augmentation for final epochs
resume= False , # (bool) resume training from last checkpoint
amp= False, # (bool) Automatic Mixed Precision (AMP) training, choices=[True, False], True runs AMP check
fraction= 1.0 , # (float) dataset fraction to train on (default is 1.0, all images in train set)
profile= False, # (bool) profile ONNX and TensorRT speeds during training for loggers
# Segmentation
overlap_mask= True , # (bool) masks should overlap during training (segment train only)
mask_ratio= 4, # (int) mask downsample ratio (segment train only)
# Classification
dropout= 0.0, # (float) use dropout regularization (classify train only)
# Hyperparameters ----------------------------------------------------------------------------------------------
lr0=0.01, # (float) initial learning rate (i.e. SGD=1E-2, Adam=1E-3)
lrf=0.01, # (float) final learning rate (lr0 * lrf)
momentum=0.937, # (float) SGD momentum/Adam beta1
weight_decay=0.0005, # (float) optimizer weight decay 5e-4
warmup_epochs=3.0, # (float) warmup epochs (fractions ok)
warmup_momentum=0.8, # (float) warmup initial momentum
warmup_bias_lr=0.1, # (float) warmup initial bias lr
box=7.5, # (float) box loss gain
cls=0.5, # (float) cls loss gain (scale with pixels)
dfl=1.5, # (float) dfl loss gain
pose=12.0, # (float) pose loss gain
kobj=1.0, # (float) keypoint obj loss gain
label_smoothing=0.0, # (float) label smoothing (fraction)
nbs=64, # (int) nominal batch size
hsv_h=0.015, # (float) image HSV-Hue augmentation (fraction)
hsv_s=0.7, # (float) image HSV-Saturation augmentation (fraction)
hsv_v=0.4, # (float) image HSV-Value augmentation (fraction)
degrees=0.0, # (float) image rotation (+/- deg)
translate=0.1, # (float) image translation (+/- fraction)
scale=0.5, # (float) image scale (+/- gain)
shear=0.0, # (float) image shear (+/- deg)
perspective=0.0, # (float) image perspective (+/- fraction), range 0-0.001
flipud=0.0, # (float) image flip up-down (probability)
fliplr=0.5, # (float) image flip left-right (probability)
mosaic=1.0, # (float) image mosaic (probability)
mixup=0.0, # (float) image mixup (probability)
copy_paste=0.0, # (float) segment copy-paste (probability)
)
到了這里,關(guān)于超詳細||深度學(xué)習(xí)環(huán)境搭建記錄cuda+anaconda+pytorch+pycharm的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!