YOLO v5 代码解读及训练、测试实操

YOLO v5 代码解读及训练、测试实操

带你了解YOLO v5代码,尽可能做的详细一点



前言

YOLO v4和v5几乎差不多时间出世,有人觉得Ultralytics装了波逼,v5称不上v4的下一个版本,但当你仔细研读一下代码,并且亲自尝试一下后会发现代码易读,整合了大量的计算机视觉技术,非常有利于学习和借鉴,而且作为工业落地应用有很大的借鉴性。综合对比v4和v5,v5的性能会比v4偏低点,但在灵活性与速度上远强于YOLO V4,在模型的快速部署上具有极强优势。


下面开始正式解读一下吧

一、模型训练前期准备

第一步肯定是数据集的准备,正常的图像标注软件(labelimg、labelme、精灵)都可,生成xml文件,但xml文件并不是最终喂入模型的数据,需要转换成适合的txt文件(具体代码见博主之前的博文:https://blog.csdn.net/weixin_43337201/article/details/109102429),最终模型需要的两部分:images、labels,我们放到两个文件夹下,同时你可以分为训练集和测试集。

在这里插入图片描述
第二步,准备一下你的yaml文件,参照coco.yaml进行改造的score.yaml:

#训练集/测试集路径
train: yolov5/dataset/images/train/
test: yolov5/dataset/images/test/
# number of classes
nc: 20
# class names
names: ['aeroplane', 'bicycle', 'bird', 'boat', 'bottle', 'bus', 'car', 'cat', 'chair', 'cow', 'diningtable', 'dog', 'horse', 'motorbike', 'person', 'pottedplant', 'sheep', 'sofa', 'train', 'tvmonitor']

第三步,由于YOLO v5分为x/l/m/s四个模型,相应地就存在四个预训练的权重文件,从下图可以看出来,从x到s,性能越来好,但速度越来越慢。确定选定那个模型后记得去起对应的yaml文件下改一下nc的值成你自定义数据的类别数即可,yaml文件的位置是models/yolov5x.yaml
在这里插入图片描述

二、正式训练

1.输入参数

参数传入部分:

    parser = argparse.ArgumentParser()
    parser.add_argument('--weights', type=str, default='weights/yolov5x.pt', help='initial weights path')
    parser.add_argument('--cfg', type=str, default='models/yolov5x.yaml', help='model.yaml path')
    parser.add_argument('--data',
  • 6
    点赞
  • 71
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值