1.前言
Ultralytics YOLOv8 是一款前沿、最先进(SOTA)的模型,基于先前 YOLO 版本的成功,引入了新功能和改进,进一步提升性能和灵活性。YOLOv8 设计快速、准确且易于使用,使其成为各种物体检测与跟踪、实例分割、图像分类和姿态估计任务的绝佳选择。
2.源码下载以及部署
1.下载地址:
https://github.com/ultralytics/ultralytics
下载预训练权重
将下载好的预训练权重放在根目录下面
下载完之后用pycharm打开
2.部署环境
激活虚拟环境之后
pip install ultralytics
在pycharm里面选择自己的深度学习环境
3.准备数据集
yolo格式的数据集(COCO):标签是txt文件
VOC数据集:标签是xml文件
将准备好的txt格式数据集放在data文件夹下面
4.修改配置文件
1.修改数据集的路径
找到coco128.yaml文件
复制coco128.yaml到同级文件夹,改名叫mycoco128.yaml
替换数据集目录
目录路径是相对路径
修改训练验证以及测试的路径
5.修改类别
6.修改类别数
找到yolov8.yaml文件
复制yolov8.yaml到同级文件夹,并改名叫myyolov8.yaml
然后修改nc(类别数):6
3.训练自己的数据集
1.打开官方指导步骤
Python - Ultralytics YOLOv8 Docs
复制这段代码
from ultralytics import YOLO
# Create a new YOLO model from scratch
model = YOLO('yolov8n.yaml')
# Load a pretrained YOLO model (recommended for training)
model = YOLO('yolov8n.pt')
# Train the model using the 'coco128.yaml' dataset for 3 epochs
results = model.train(data='coco128.yaml', epochs=3)
# Evaluate the model's performance on the validation set
results = model.val()
# Perform object detection on an image using the model
results = model('https://ultralytics.com/images/bus.jpg')
# Export the model to ONNX format
success = model.export(format='onnx')
2.在根目录新建一个自己的训练文件
3.将官方的代码复制进去
预测和导出的代码先注释掉,先演示一下训练和验证
4.修改参数,将里面的文件都换成自己的路径
epoch换成30
5.直接运行,发现报错:SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 22-23: truncated \uXXXX escape
解决方法:将路径的右斜杠(\)换成左斜杠(/)
将之前hatDataDemo的右斜杠也换成左斜杠
然后运行mytrain.py