yolov8 安装、训练、标注
安装相关依赖
这里安装一些依赖 Windows 11 和 WSL2 安装 CUDA cuDNN OpenCV | rvyou
还有 python3.10
pytorch 安装 https://pytorch.org/
ultralytics 和 标注工具 安装
1
2
pip install git+https://github.com/ultralytics/ultralytics.git@main
pip install labelimg
接下来就是用 yolo 相关命令CLI - Ultralytics YOLO Docs 进行
训练自己数据集合
目录:
1
2
3
4
5
YOLO 目录名
├─ images 要标注图片
├─ labels 标注标签信息
├─ classes.txt 标签名字 每行一个
├─ yolov8.yaml #https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v8/yolov8.yamlhttps://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/models/v8/yolov8.yaml
标注数据(在目录名打开命令行)
1
labelimg images classes.txt
标注完成后创建以下目录,把 labels、images 复制过去(train和valid比例是7:3 左右)
tips: 记得选生产是 yolo 的标注数据
1
2
3
4
5
6
7
8
9
10
11
├─images
├─labels
├─test
│ ├─images
│ └─labels
├─train #训练数据 70%
│ ├─images
│ └─labels
└─valid #验证数据 30%
├─images
└─labels
创建 traffic.yaml
1
2
3
4
5
6
7
train: D:\yolotrain/images #修改成train中images的绝对路径
val: D:\yolovalid/images #修改成valid中images的绝对路径
test: D:\yolotest/images #修改成test中images的绝对路径
nc: 1 #类的数目
names: #每个类对应的名称
0: mouse
修改yalov8.yaml
1
nc: 80 #改成自己的标签数量
使用 yolo
训练:
1
2
3
4
5
6
7
8
9
10
11
yolo task=detect mode=train model=yolov8n.yaml data=traffic.yaml epochs=10 batch=3
#model:选择YOLOv8不同的模型配置文件,可选yolov8s.yaml、yolov8m.yaml等等 yolov8.yaml里面有说明
#data: 选择数据集的配置文件
#epochs:指的就是训练过程中整个数据集将被迭代多少次
#batch:一次看完多少张图片才进行权重更新
#从YAML构建一个新模型,并从头开始培训
#yolo detect train data=coco8.yaml model=yolov8n.yaml epochs=100 imgsz=640
#从预先训练的*.pt模型开始训练
#yolo detect train data=coco8.yaml model=yolov8n.pt epochs=100 imgsz=640
#从YAML建立一个新的模型,将预先训练的权重转移到它并开始训练
#yolo detect train data=coco8.yaml model=yolov8n.yaml pretrained=yolov8n.pt epochs=100 imgsz=640
训练好的模型会在 runs/detect/train/weights/*.pt 里面
一般使用 batch =1 进行递增训练正价准确度(有一定阈值),相应epochs也要调大
验证:
1
yolo task=detect mode=val model=runs/detect/train/weights/last.pt data=traffic.yaml batch=8
测试:
1
yolo task=detect mode=predict model=runs/detect/train/weights/best.pt source=2.jpg
本文由作者按照 CC BY 4.0 进行授权