创建完实例和yolo所需要的虚拟环境之后,将自己的数据导入平台,我的路径如图,其中annotation文件夹中放所有的xml文件,images和labels文件夹中分别有三个文件夹,如图分别装着训练,测试,验证的原图像和yolo所需要的txt文件
在主目录创建一个文件夹名为yolov8,cd进入yolov8目录,下载yolo所需要的配置文件
pip install ultralytics
下载好后在该目录中创建data文件夹,里面创建一个yaml文件,yaml文件内容为训练集,测试集,验证集的路径,以及你的数据集的类别数量nc,和类别名。注意这里的train等冒号后面需要空一格。
同样在yolov8文件夹中创建weights文件夹,放置你要用到的权重文件,这里我使用的是yolov8n(轻量但是效果可能不太好,可以根据需要换成别的)
在yolov8文件夹中创建名为train的py文件,内容如下,包含你所要用到的权重文件和data的路径,其中图片尺寸和epochs,batch根据需要自己修改
现在可以训练了,cd进入yolov8目录,开始训练
cd yolov8
python train.py
成功训练效果如图
训练结果路径也显示了,在yolov8/runs目录中
结果的数据以及一些指标可以参考这篇文章,通俗易懂:超详细YOLOv8实例分割全程概述:环境、训练、验证与预测详解_yolov8分割-CSDN博客
训练结束后创建val.py文件(与train.py)在同一目录下
from ultralytics import YOLO
if __name__ == '__main__':
model = YOLO('runs/detect/train19/weights/best.pt')
model.val(data='data/data.yaml',
split='val',
imgsz=1024,
batch=2,
save_json=True, # if you need to cal coco metrice
project='runs/val',
name='exp',
)
导入的模型是训练结束后效果最好的模型
之后利用该模型对随机一张图进行测试
yolo predict model=最好的模型 source=测试图片
测试图片需要自己导入文件夹yolov8/ultralytics/assets,输出的结果在yolov8/runs/detect/predict中