【YOLO】目标检测 YOLO框架之train.py参数含义及配置总结手册(全)

1.一直以来想写下基于YOLO开源框架的系列文章,该框架也是日常项目开发中常用的一款工具,最近刚好挤时间梳理、总结下这块儿的知识体系。
2.熟悉、梳理、总结下YOLO目标检测相关知识体系,之前实战配置时总是临时性检索些注释含义,但很多时候不太全或不想要,借此机会总结、更新下。
3.欢迎批评指正,跪谢一键三连!

  • YOLO框架系列总结-核心目录文件及含义如下所示:
    在这里插入图片描述

1.train.py parse_opt方法配置参考示例

def parse_opt(known=False):# argparse是python用于解析命令行参数和选项的标准模块,用于解析命令行参数,输入训练的参数和选项。parser = argparse.ArgumentParser()# 指定一个网络模型# yolov5s.pt, yolov5m.pt, yolov5l.pt, yolov5x.pt   这四种对应的是img = 640# yolov5s6.pt, yolov5m6.pt, yolov5l6.pt, yolov5x6.pt   这四种对应的是img = 1280parser.add_argument('--weights', type=str, default=ROOT / 'weights/yolov5s.pt', help='initial weights path')parser.add_argument('--cfg', type=str, default='', help='model.yaml path')parser.add_argument('--data', type=str, default=ROOT / 'data/WaterSurfaceGarbageDetection.yaml', help='dataset.yaml path')parser.add_argument('--hyp', type=str, default=ROOT / 'data/hyps/hyp.scratch-low.yaml', help='hyperparameters path')parser.add_argument('--epochs', type=int, default=300)# 一次往GPU哪里塞多少张图片了。决定了显存占用大小,默认是16。parser.add_argument('--batch-size', type=int, default=8, help='total batch size for all GPUs, -1 for autobatch')# img-size# 照片的尺寸,它在网络运行过程中,会将输入图片 / 视频的大小进行一个resize, 再送到我们的神经网络中,输入和输出的大小可能不变,但是在运算的过程中会改变parser.add_argument('--imgsz', '--img', '--img-size', type=int, default=640, help='train, val image size (pixels)')# 非矩阵大小图片处理方式parser.add_argument('--rect', action='store_true', help='rectangular training')# resume 重新开始; (中断后)继续;是否从最新的训练模型继续训练parser.add_argument('--resume', nargs='?', const=True, default=False, help='resume most recent training')# parser.add_argument('--resume', nargs='?', const=True, default=False, help='resume most recent training')parser.add_argument('--nosave', action='store_true', help='only save final checkpoint')parser.add_argument('--noval', action='store_true', help='only validate final epoch')parser.add_argument('--noautoanchor', action='store_true', help='disable AutoAnchor')parser.add_argument('--noplots', action='store_true', help='save no plot files')parser.add_argument('--evolve', type=int, nargs='?', const=300, help='evolve hyperparameters for x generations')parser.add_argument('--bucket', type=str, default='', help='gsutil bucket')# 是否缓存图片,方便训练parser.add_argument('--cache', type=str, nargs='?', const='ram', help='--cache images in "ram" (default) or "disk"')parser.add_argument('--image-weights', action='store_true', help='use weighted image selection for training')# --device:CUDA设备,如果使用CPU训练就写cpu,如果用一块GPU训练就写0,如果有多块GPU就写 0,1,2,3parser.add_argument('--device', default='0', help='cuda device, i.e. 0 or 0,1,2,3 or cpu')# 图片尺寸变换parser.add_argument('--multi-scale', action='store_true', help='vary img-size +/- 50%%')# 训练数据集是单类别还是多类类别parser.add_argument('--single-cls', action='store_true', help='train multi-class data as single-class')# yolov5官方的预训练权重是基于FP16的,训练的时候使用的是FP32,此处储存空间就增加了一倍;# 同时官方预训练权重是不包含optimizer参数的,而我们训练的时候是把optimizer参数保存了的,这个可以打印出来看一下,# 所以最终我们训练的权重比预训练权重大很多。parser.add_argument('--optimizer', type=str, choices=['SGD', 'Adam', 'AdamW'], default='SGD', help='optimizer')# 多GPUparser.add_argument('--sync-bn', action='store_true', help='use SyncBatchNorm, only available in DDP mode')# 指数据装载时cpu所使用的进程数,默认为8parser.add_argument('--workers', type=int, default=8, help='max dataloader workers (per RANK in DDP mode)')# 保存路径parser.add_argument('--project', default=ROOT / 'runs/train', help='save to project/name')parser.add_argument('--name', default='exp', help='save to project/name')parser.add_argument('--exist-ok', action='store_true', help='existing project/name ok, do not increment')# 数据处理方式parser.add_argument('--quad', action='store_true', help='quad dataloader')parser.add_argument('--cos-lr', action='store_true', help='cosine LR scheduler')# 标签平滑  防止过拟合,标签平滑,弱化单个标签的作用parser.add_argument('--label-smoothing', type=float, default=0.0, help='Label smoothing epsilon')# 早停机制parser.add_argument('--patience', type=int, default=100, help='EarlyStopping patience (epochs without improvement)')parser.add_argument('--freeze', nargs='+', type=int, default=[0], help='Freeze layers: backbone=10, first3=0 1 2')parser.add_argument('--save-period', type=int, default=-1, help='Save checkpoint every x epochs (disabled if < 1)')parser.add_argument('--local_rank', type=int, default=-1, help='DDP parameter, do not modify')# Weights & Biases argumentsparser.add_argument('--entity', default=None, help='W&B: Entity')parser.add_argument('--upload_dataset', nargs='?', const=True, default=False, help='W&B: Upload data, "val" option')parser.add_argument('--bbox_interval', type=int, default=-1, help='W&B: Set bounding-box image logging interval')parser.add_argument('--artifact_alias', type=str, default='latest', help='W&B: Version of dataset artifact to use')opt = parser.parse_known_args()[0] if known else parser.parse_args()return opt

2.参数配置含义及作用

  • 源文件下载链接: YOLO框架train.py 中参数配置解释、数据标注格式解释
    在这里插入图片描述

3.参考链接

  • GitHub-ultralytics/yolov5

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/322619.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

spring模块(六)spring监听器(2)@EventListener

一、介绍 监听器的简化写法 二、原理 三、使用 Slf4j Component public class MyTask {EventListenerpublic void onApplicationEvent(ApplicationEvent event) {if (event instanceof ContextRefreshedEvent) {log.info("监听到 ContextRefreshedEvent...");}if…

水电抄表方案是什么?

1.概述&#xff1a;水电抄表方案的重要性 水电抄表方案是现代城市管理中不可或缺的一部分&#xff0c;它涉及到了能源管理、费用结算和公共服务等多个领域。传统的抄表方式需要工作人员上门服务&#xff0c;费时费力且效率低下。随着科技的发展&#xff0c;智能化的水电抄表方…

融知财经:期货交易原理是怎样的?期货交易有哪些特征?

期货的原理是基于对某期货品种未来走势的判断而形成对其合约的买卖交易&#xff0c;因此期货可以解释为买涨或买跌。买涨&#xff0c;即看多交易&#xff0c;预期某期货品种未来价格上涨而进行的买入开仓交易&#xff1b;买跌&#xff0c;即看空交易&#xff0c;预期某期货品种…

Java学习第05天-编程思维与编程能力

文章目录 综合应用案例&#xff1a;找素数数组元素的复制数字加密模拟双色球 综合应用 涉及的知识点&#xff1a; 变量、数组运算符&#xff1a;基本运算符、关系运算符、逻辑运算符流程控制&#xff1a;if、switch、for、while、死循环、循环嵌套跳转关键字&#xff1a;break、…

Ps 滤镜:像素化

Ps菜单&#xff1a;滤镜/像素化 Filter/Pixelate “像素化”子菜单中的滤镜可以将图像以其他形状的元素重新再现出来。它并不是真正地改变了图像像素点的形状&#xff0c;它只是在图像中表现出某种基础形状的特征&#xff0c;以形成一些类似像素化的形状变化。 彩块化 Facet “…

17.接口自动化学习-日志

1.日志输出渠道 &#xff08;1&#xff09;文件格式 xx.log &#xff08;2&#xff09;控制台输出 2.日志级别 debug<info<warnning<error<critical 3.代码实现 from utils.handle_path import log_path import logging import datetime def logger(fileLogTr…

mac通过termius连接Linux服务器

mac上安装 linux系统 如果有 linux服务器账号密码&#xff0c;那么上一步可忽略&#xff1b; 比如&#xff1a;直接连接阿里云或腾讯云账号 1. 安装termius 链接: https://pan.baidu.com/s/1iYsZPZThPizxqtkLPT89-Q?pwdbw6j 提取码: bw6j 官网 Termius - SSH platform for …

springcloud报错:Failed to start bean‘webServerStartStop‘

如果你正在使用nacos进行服务注册&#xff0c;然后报一下错误&#xff1a; 那就说明的nacos没有打开&#xff0c;所以找到你的下载nacos的文件夹 好了&#xff0c;错误完美解决~

elk + filebeat 8.4.3 收集nginx日志(docker部署)

ELK filebeat docker部署 一、 elasticsearch部署1、运行elasticsearch临时配置容器2、拷贝文件目录到本地3、检查elasticsearch.yml4、删除之前elastic&#xff0c;运行正式容器5、docker logs记录启动日志 二、部署kibana1、运行kibana临时配置容器2、docker拷贝配置文件到本…

sql 注入 1

当前在email表 security库 查到user表 1、第一步&#xff0c;知道对方goods表有几列&#xff08;email 2 列 good 三列&#xff0c;查的时候列必须得一样才可以查&#xff0c;所以创建个临时表&#xff0c;select 123 &#xff09; 但是你无法知道对方goods表有多少列 用order …

毕业论文怎么写? 推荐4个AI工具

写作这件事一直让我们从小学时期就开始头痛&#xff0c;初高中时期800字的作文让我们焦头烂额&#xff0c;一篇作文里用尽了口水话&#xff0c;拼拼凑凑才勉强完成。 大学时期以为可以轻松顺利毕业&#xff0c;结果毕业前的最后一道坎拦住我们的是毕业论文&#xff0c;这玩意不…

带你入门React

目录 前言一&#xff0c;基本配置1.1 环境搭建1.2 页面初始化渲染二&#xff0c;基础学习2.1 结构与样式开发2.2 数据展示2.3 行内样式2.4 条件渲染2.5 列表渲染2.6 点击事件 三&#xff0c;页面更新3.1 组件数据3.2 组件数据共享 总结 前言 笔者之前的工作经验都局限于Vue&am…

01-单片机商业项目编程,从零搭建低功耗系统设计

一、引言 这是关于《单片机商业编程之从零搭建低功耗系统》的第一篇章&#xff0c;个人善忘&#xff0c;平常项目设计当中的一些思路&#xff0c;以前年轻的时候习惯性的录制成视频&#xff0c;也算是当作是自己的笔记&#xff0c;无奈现在喉咙实在扛不住&#xff0c;因此先尝试…

适用于 macOS 的最佳独立 HBO Max 客户端

适用于 macOS 的最佳独立 HBO Max 应用程序。不再在浏览器选项卡之间切换。只需直接从 Dock 启动 Clicker for HBO Max 即可开始狂欢。 HBO Max 客户端 Clicker for HBO Max 下载 Clicker for HBO Max mac版安装教程 软件下载完成后&#xff0c;双击pkg根据提示进行安装 Clic…

2024最新同城吃喝玩乐小程序源码+同城分类信息小程序搭建+开源无需授权+详细图文安装部署教程

在繁忙的都市生活中&#xff0c;生活节奏飞快&#xff0c;人们希望能够快速、便捷地获取各类生活信息&#xff0c;满足日常的吃喝玩乐需求。同城吃喝玩乐同城分类信息小程序&#xff0c;非常受欢迎&#xff0c;提供一站式便捷生活新体验。 分享一款2024最新同城吃喝玩乐小程序…

QT作业3

1、思维导图 2、聊天界面 //头文件1 #ifndef MYWIDGET_H #define MYWIDGET_H#include <QWidget> #include<QIcon> //图标类 #include<QLabel> //标签类 #include<QMovie> //动图类 #include<QLineEdit> //行编辑器类 #include<QPushButton&g…

《Fundamentals of Power Electronics》——示例:Buck-Boost转换器模型变为正则形式

为了说明正则电路模型推导的步骤&#xff0c;让我们将buck-boost转换器的等效电路操作成规范形式。buck-boost转换器的一个小信号交流等效电路如下图所示。 为了将上图所示网络转换成正则形式&#xff0c;需要将所有独立源d(t)转换到左侧&#xff0c;而将所有电感转换到右侧与变…

Linux——基础IO2

引入 之前在Linux——基础IO(1)中我们讲的都是(进程打开的文件)被打开的文件 那些未被打开的文件呢&#xff1f; 大部分的文件都是没有被打开的文件&#xff0c;这些文件在哪保存&#xff1f;磁盘(SSD) OS要不要管理磁盘上的文件&#xff1f;(如何让OS快速定位一个文件) 要…

华为数据之道第二部分导读

目录 导读 第二部分 第4章 面向“业务交易”的信息架构建设 信息架构的四个组件 数据资产目录 数据标准 数据模型 数据分布 信息架构原则&#xff1a;建立企业层面的共同行为准则 信息架构建设核心要素&#xff1a;基于业务对象进行设计和落地 按业务对象进行架构设…

CSS3新增特性

新增属性选择器 <style>/* 必须是input但是同时具有value这个属性选择这个元素 [] */input[value] {color: red;}input[typetel] {color: blue;}/* 选择首先是div然后具有cLass属性并且属性值必须是 icon开头的这些元素 ^ */div[class^icon] {color: pink;}section[c…