yolov5代码解读-训练

本文详细解读了yolov5的训练流程,包括超参数设置、命令行参数解析、训练前的准备工作,以及关键组件如模型加载、优化器选择和训练步骤。重点介绍了损失函数、数据增强、多卡训练和模型微调等内容。
摘要由CSDN通过智能技术生成

前言:

上两篇:yolov5代码解读-datasetyolov5代码解读-网络架构
yolov5的数据处理模块和网络架构已经写完了,做好了这些基础工作,就可以来训练了。
代码已上传到github,数据集和权重文件已上传到百度网盘(链接在github里),如需下载请移步:https://github.com/scc-max/yolov5-scc

参数解读

超参数hyp文件

在训练之前,先看一下有哪些超参数。在yolov5工程里面有一个 data文件夹,里面有一个hyp.scratch.yaml文件,可以用写字板或者记事本打开。在这里插入图片描述

上面这些参数默认就好,没什么改动的必要。
lr:学习率就不用说了,在训练过程中会依次下降,初试学习率在第一行内容中。余弦退火就是为了动态降低学习率。
momentum: 动量,一般为0.95左右。
weight_decay:权重衰减,防止权重更新幅度过大,过拟合。
warmup:热身,让模型先热热身,熟悉熟悉数据,学习率要小,相当于只是去看看,还没正式训练呢,学习率太高说不定就学跑偏了。
下面是损失和图像增强的一些参数,大致也都默认就好。

命令行参数

这些是train.py里面的参数,前几个不用说,看一下就知道什么意思。
rect是指要不要做矩形训练,例如448×448给修改成448×w这样一个尺寸,默认是不做。
resume是指是否继续上次的训练,这是一个日志文件,在训练后会有一个last.pt,是保存的权重文件。store_true,就是没有默认的情况下就是False。因为我只有矿山一个类别,所以我的single-cls就是store false,然后默认为True了。如果是多类别的,这里要写store_true。
最后一个workers,windows系统一定要指定为0,指定其他的会百分百报错。windows和pytorch没有很好地兼容。在这里插入图片描述

训练流程

训练前

日志文件
首先是定义日志文件的地址,然后加载了一些超参数例如epochs。
pt文件保存了best和last两种&

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值