U版YOLO V8项目使用-Win11系统
创建激活虚拟环境
-
为Yolov8创建所需要的虚拟环境
conda create --name Yolov8 python=3.11.9
-
激活YOLO v8虚拟环境
activate Yolov8
-
通过桌面程序查看创建的结果
拉取项目源码
https://github.com/ultralytics/ultralytics?tab=readme-ov-file
拉取项目到本地并使用Pycharm打开项目。
git clone https://github.com/ultralytics/ultralytics.git
安装依赖
-
为了避免之后出现错误,首先通过pip安装pytorch11.8的GPU版本库。
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
-
根据官网的提示使用可编辑模式安装所需要的库
Clone the ultralytics repository
git clone https://github.com/ultralytics/ultralytics
Navigate to the cloned directory
cd ultralytics
Install the package in editable mode for development
pip install -e .
预测与训练
输入命令执行测试文件使用命令行的方式执行单张图片的检测命令。
yolo predict model=yolov8s.pt source=D:/Git-res/DeepLearing/DL_01/YOLOV8/ultralytics-8.2.60/ultralytics/assets/bus.jpg
(Yolov8) D:\Git-res\DeepLearing\DL_01\YOLOV8\ultralytics-8.2.60
yolo predict model=yolov8s.pt source=D:/Git-res/DeepLearing/DL_01/YOLOV8/ultralytics-8.2.60/ultralytics/assets/bus.jpg
Downloading https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8s.pt to 'yolov8s.pt'...
100%|███████████████████████████████████████████████████████████████████████████████████████████████████| 21.5M/21.5M [00:13<00:00, 1.70MB/s]
Ultralytics YOLOv8.2.60 🚀 Python-3.11.9 torch-2.3.1+cu118 CUDA:0 (NVIDIA GeForce RTX 4060 Laptop GPU, 8188MiB)
YOLOv8s summary (fused): 168 layers, 11,156,544 parameters, 0 gradients, 28.6 GFLOPs
image 1/1 D:\Git-res\DeepLearing\DL_01\YOLOV8\ultralytics-8.2.60\ultralytics\assets\bus.jpg: 640x480 4 persons, 1 bus, 103.3ms
Speed: 9.5ms preprocess, 103.3ms inference, 60.7ms postprocess per image at shape (1, 3, 640, 480)
Results saved to runs\detect\predict
💡 Learn more at https://docs.ultralytics.com/modes/predict
使用coco128数据集和官网提供的命令模式进行训练。
官方提供的三种常用的训练命令。
# Build a new model from YAML and start training from scratch
yolo detect train data=coco8.yaml model=yolov8n.yaml epochs=100 imgsz=640
# Start training from a pretrained *.pt model
yolo detect train data=coco8.yaml model=yolov8n.pt epochs=100 imgsz=640
# Build a new model from YAML, transfer pretrained weights to it and start training
yolo detect train data=coco8.yaml model=yolov8n.yaml pretrained=yolov8n.pt epochs=100 imgsz=640
普通的训练模式
yolo detect train data=D:/ultralytics/ultralytics/cfg/datasets/VOC-new.yaml model=yolov8s.pt epochs=50 imgsz=640 batch=8 workers=4
断点续存模式
yolo detect train data=D:/ultralytics/ultralytics/cfg/datasets/VOC-new.yaml model=D:/ultralytics/runs/detect/train/weights/best.pt epochs=300 imgsz=640 batch=16 workers=4 resume
根据上面提供的参考格式:我们使用项目中默认提供好了的coco128.yaml文件进行训练。(方便起见训练轮数设置为50batch设置为8进行训练)
yolo detect train data=coco128.yaml model=yolov8n.pt epochs=50 imgsz=640 batch=8 workers=4
新版的项目会自己下载数据集以及需要的预训练模型。之后就开始进行训练。
我自己在训练的时候发现,在训练的过程中当训练到41轮的时候会关闭数据增强训练。
评估训练出的网络模型
在官方文档中给出了两种模型评估方式。
-
yolo detect val model=yolov8n.pt # val official model yolo detect val model=path/to/best.pt # val custom model
-
带有参数的模型评估方式
yolo val model=yolov8n.pt data=coco8.yaml imgsz=640 batch=16 conf=0.25 iou=0.6 device=0
参考格式:
yolo detect val model=D:\Git-res\DeepLearing\DL_01\YOLOV8\ultralytics-8.2.60\runs\detect\train\weights\best.pt
data=D:/ultralytics/ultralytics/cfg/datasets/VOC-new.yaml
个人实验:我们在coco8数据集上进行实验验证集的过程。使用的命令行命令如下所示。
yolo detect val model=D:\Git-res\DeepLearing\DL_01\YOLOV8\ultralytics-8.2.60\runs\detect\train\weights\best.pt data=coco8.yaml
总结以上就是使用命令行cli方式跑YOLOV8代码的执行流程。