YOLOv10(7):YOLOv10训练(以训练VOC数据集为例)

YOLOv10(1):初探,训练自己的数据_yolov10 训练-CSDN博客

YOLOv10(2):网络结构及其检测模型代码部分阅读_yolov10网络结构图-CSDN博客

YOLOv10(4):损失(Loss)计算及其检测模型代码部分阅读_yolov10损失函数-CSDN博客

YOLOv10(6):YOLOv10基于TensorRT的部署(基于INetworkDefinition)_yolov10网络结构图-CSDN博客


目录

1. 写在前面

2. 数据集准备

3. 训练前配置

4. 开始训练

5. 评估模型


1. 写在前面

        我们在YOLOv10初探第一课中,已经涉及到了一些关于如何训练自己数据集的信息,接下来本节将以VOC数据集(VOC标注形式)来更详细的带领小伙伴们走一遍训练。

2. 数据集准备

        VOC数据集,全称为Visual Object Classes数据集,是一种广泛使用的计算机视觉数据集,主要用于目标检测、图像分割和图像分类等任务。

        VOC类型的标注一般我们可以使用labelimg软件完成,标注后所得到的标签文件一般是XML类型,其中的内容形式如下。其中坐标信息是左上右下的形式。

我们要训练 YOLOv10,一种方法是转换成YOLO格式(txt文件形式),其内容参考如下,每一行是一个目标,包含类别ID,中心点和宽高信息(归一化之后)。

这一步我们可以通过脚本来转换,参考s1_voc2yolo_convert.py文件。运行该脚本以后,会在指定的数据及路径下生成labels子文件夹,文件夹中的内容如下所示,每一张图片对应生成一个txt标注文件。

转换完成以后,还需要将完整的数据集划分为测试集、训练集和评估集,参考脚本s2_split_train_val_test.py

运行完该脚本以后,会在数据集路径下生成四个txt文件,分别是test.txt、train.txt、trainval.txt和val.txt,其中内容为完整的图像路径,如下。

3. 训练前配置

经过以上的数据集转换、处理以后,接下来仅需要进行简单的配置就可以进行训练了。

首先是数据集文件,在路径ultralytics/cfg/datasets路径下,仿照VOC.yaml创建一个新的文件即可。其内容如下所示。

然后是模型文件,如选择YOLOv10m,可以直接修改ultralytics/cfg/models/v10/yolov10m.yaml文件,将其中的nc改成对应的类别数。

4. 开始训练

处理完成数据,完成配置以后,就可以进行训练了,前面讲过,先对./ultralytics/models/yolov10/train进行一些改动,参考如下。

之后就可以开始训练了,首先进入YOLOv10的顶层路径,执行如下指令开始训练。

python3 ./ultralytics/models/yolov10/train.py。

必要时使用sudo。

5. 评估模型

在训练过程中,每一个epoch训练完成以后都会进行相应的评估,可以观察P、R、mAP@0.5、mAP@0.5:0.95等评估参数

也可以通过运行模型,将检测结果绘制在图像上进行观看,具体使用python3 ./ultralytics/models/yolov10/predict.py,完成绘制以后,效果如下。

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

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

相关文章

【Linux】初识操作系统

一、冯•诺依曼体系结构 在学习操作系统之前,我们先来认识一下冯•诺依曼体系结构,我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系。 截至目前,我们所认识的计算机&am…

神经网络训练(一):基于残差连接的图片分类网络(ResNet18)

目录 一、简介:二、图片分类网络1.记载训练数据(torch自带的cifa10数据集)2.数据增强3.模型构建4.模型训练三、完整源码及文档一、简介: 基于残差连接的图片分类网络,本网络使用ResNet18作为基础模块,根据cifa10的特点进行改进网络,使用交叉熵损失函数和SGD优化器。本网…

使用pyqt5编写一个七彩时钟

使用pyqt5编写一个七彩时钟 效果代码解析定义 RainbowClockWindow 类初始化用户界面显示时间方法 完整代码 在这篇博客中,我们将使用 PyQt5 创建一个简单的七彩数字时钟。 效果 代码解析 定义 RainbowClockWindow 类 class RainbowClockWindow(QMainWindow):def _…

【TB作品】温湿度监控系统设计,ATMEGA16单片机,Proteus仿真

题2:温湿度监控系统设计 功能要求: 1)开机显示时间(小时、分)、时分可修改; 2)用两个滑动变阻器分别模拟温度传感器(测量范 围0-100度)与湿度传感器(0-100%),通过按键 可以在数码管切换显示当前温度值、湿度值; 3)当温度低于20度时,红灯长亮; 4)当湿度高于70%时,黄灯长亮; 5)当…

安卓实现微信聊天气泡

一搜没一个能用的&#xff0c;我来&#xff1a; 布局文件&#xff1a; <?xml version"1.0" encoding"utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android"http://schemas.android.com/apk/res/android"xml…

Tech Talk:智能电视eMMC存储的五问五答

智能电视作为搭载操作系统的综合影音载体&#xff0c;以稳步扩大的市场规模走入越来越多的家庭&#xff0c;成为人们生活娱乐的重要组成部分。存储部件是智能电视不可或缺的组成部分&#xff0c;用于保存操作系统、应用程序、多媒体文件和用户数据等信息。智能电视使用eMMC作为…

vue3中使用Antv G6渲染树形结构并支持节点增删改

写在前面 在一些管理系统中&#xff0c;会对组织架构、级联数据等做一些管理&#xff0c;你会怎么实现呢&#xff1f;在经过调研很多插件之后决定使用 Antv G6 实现&#xff0c;文档也比较清晰&#xff0c;看看怎么实现吧&#xff0c;先来看看效果图。点击在线体验 实现的功能…

受限玻尔兹曼机浅析

受限玻尔兹曼机&#xff08;Restricted Boltzmann Machine&#xff0c;简称RBM&#xff09;是一种特殊的随机生成神经网络&#xff0c;能够学习并发现数据的复杂规则分布。以下是关于受限玻尔兹曼机算法的详细介绍&#xff1a; ⭐️ 定义与起源 定义&#xff1a; 受限玻尔兹…

深入剖析Tomcat(十四) Server、Service 组件:如何启停Tomcat服务?

通过前面文章的学习&#xff0c;我们已经了解了连接器&#xff0c;四大容器是如何配合工作的&#xff0c;在源码中提供的示例也都是“一个连接器”“一个顶层容器”的结构。并且启动方式是分别启动连接器和容器&#xff0c;类似下面代码 connector.setContainer(engine); try …

小程序的运行机制、更新机制、生命周期介绍保姆级教程全解

一、小程序运行机制 1. 小程序冷启动 小程序启动可以分为两种情况&#xff0c;一种是冷启动&#xff0c;一种是热启动- 冷启动&#xff1a;如果用户首次打开&#xff0c;或小程序销毁后被用户再次打开&#xff0c;此时小程序需要重新加载启动- 热启动&#xff1a;如果用户已经打…

HSP_12章 Python面向对象编程oop_多态

文章目录 P128 多态问题的引出P129 多态细节和使用1. 多态介绍&特别说明2. 多态的好处3. 特别说明: Python多态的特点4. 使用多态的机制来解决主人喂食物的问题 P128 多态问题的引出 先看一个问题 # 说明: 先试用传统的方式完成 class Food:name Nonedef __init__(self,…

4.Android逆向协议-详解二次打包失败解决方案

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a;微尘网校 上一个内容&#xff1a;3.Android逆向协议-APP反反编译及回编译 工具下载&#xff1a; 链接&#xff1a;https://pan.baidu.…

#笔记# 写给自己用的小爬虫

最近完成了一个文旅行业信息聚合的小应用&#xff0c;实现仅从一个入口了解全行业的信息动态&#xff0c;不用一个一个翻看各网站&#xff0c;节省了不少检索时间。 一、基本思路 明确数据来源。基于前述目标&#xff0c;确定数据源为文化和旅游部管理部门官网&#xff0c;比…

【办公类-21-18】20240701 养老护理员初级选择题488,制作PyQt5图形界面GUI

背景需求&#xff1a; 6月16日育婴师高级考完了。运气好&#xff0c;抽到的是”护理患腹泻的幼儿”&#xff0c;“晨检与家长沟通”&#xff0c;“4个月婴儿喂蛋黄”&#xff0c;“21个月食谱”&#xff0c;都是我背过的题目&#xff08;没有抽到感统&#xff09; 于是一放假&…

【C语言】解决C语言报错:Invalid Pointer

文章目录 简介什么是Invalid PointerInvalid Pointer的常见原因如何检测和调试Invalid Pointer解决Invalid Pointer的最佳实践详细实例解析示例1&#xff1a;未初始化的指针示例2&#xff1a;已释放的指针示例3&#xff1a;返回局部变量的指针示例4&#xff1a;野指针 进一步阅…

《化学工程与装备》是什么级别的期刊?是正规期刊吗?能评职称吗?

​问题解答 问&#xff1a;《化学工程与装备》是不是核心期刊&#xff1f; 答&#xff1a;不是&#xff0c;是知网收录的第一批认定学术期刊。 问&#xff1a;《化学工程与装备》级别&#xff1f; 答&#xff1a;省级。主管单位&#xff1a;福建石油化工集团有限责任公司 …

昇思25天学习打卡营第6天|网络构建

网络构建 概念模型模型参数 概念 神经网络模型是由神经网络层和Tensor操作构成的&#xff0c;mindspore.nn提供了常见神经网络层的实现&#xff0c;在MindSpore中&#xff0c;Cell类是构建所有网络的基类&#xff0c;也是网络的基本单元。一个神经网络模型表示为一个Cell&…

技术革新:如何用数据中台实现数字化转型

作为程序员&#xff0c;我们总是对技术如何改变企业运作充满好奇。今天&#xff0c;我们将深入探讨森马集团如何利用数据中台技术&#xff0c;实现从传统数据分析到数字化转型的华丽转身。 1. 技术背景&#xff1a;森马集团的数字化挑战 森马集团&#xff0c;一个在服饰行业占…

天津惠灵顿:从心,致逐梦康桥|在这所天津国际学校从容不迫中走近梦想

在刚刚落下帷幕的申请季中&#xff0c;来自惠灵顿天津校区的Herman&#xff0c;陆续收到了剑桥大学、帝国理工学院、纽约大学、瓦萨学院等10余封录取通知书。面对纷至沓来的名校肯定&#xff0c;经历了短暂的尘埃落定的喜悦&#xff0c;Herman很快恢复了往日里的泰然自若。在他…

chunkers/maxent_ne_chunker/english_ace_multiclass.pickle 找不到

首先在这个nltk_data &#xff1a; NLTK Data官方下的数据集&#xff0c;找不到english_ace_multiclass.pic 说明缺少这个文件 : 那么在 nlp/resources/chunkers/maxent_ne_chunker/english_ace_multiclass.pickle at master teropa/nlp (github.com) 下载那两个文件 : 然…