9月12日 YOLO训练与效果测试
3. 9月12日 YOLO训练与效果测试
必须建立在上一个实验已经正确完成的情况下
必须建立在上一个实验已经正确完成的情况下
必须建立在上一个实验已经正确完成的情况下
1. 模型训练
#coding:utf-8
from ultralytics import YOLO
# 加载预训练模型
model = YOLO("yolov8n.pt")
# Use the model
if __name__ == '__main__':
# Use the model
results = model.train(data=r'D:\yolo_test\test\data.yaml', epochs=300, batch=4) # 训练模型
参数说明:
- Epoch:训练过程中的迭代次数
- GPU_mem:GPU内存使用情况,通常是以MB或GB为单位的数字
- box_loss:模型预测的边界框与真实边界框之间的平均损失值
- cls_loss:模型预测的对象类别与真实类别之间的平均损失值
- dfl_loss:分布式焦距损失,用于提高边界框回归的精度
- Instances:检测任务中每个图像包含的目标实例
- Size:输入模型的图像的大小,通常是以像素为单位的宽度和高度。
- Class:检测的目标类别
- Images:测试集中包含该类别的图像数量
2.CPU与GPU
CPU,训练一轮预计40分钟,总计需要7天

GPU,训练一轮预计2分钟,总计需要10小时

3. 结果参数
Yolov8在训练完成之后,会在runs/detect/train目录下把训练的过程一些参数与结果示意图保存下来,这里面包含是目标检测性能指标。

- weights: 包含best.pt以及last.pt,分布代表模型损失最低的结果以及最后一次训练完成后的结果
- args.yaml: 训练时的保存的超参数

4. 模型效果验证
from ultralytics import YOLO
model = YOLO('best.pt')
if __name__ == '__main__':
results = model.predict(source='test.jpg')
results[0].show()
执行上述代码后,会将执行的结果直接标注在图片上,结果如下:

本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 现代职校董良
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果