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.mfbz.cn/a/757669.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MapReduce学习

目录 7.3 MapReduce工作流程 7.3.1 工作流程概述 7.3.2 MapReduce各个执行阶段 7.3.3 Shuffle过程详解 1. Shuffle过程简介(过程分为Map端的操作和Reduce端的操作) 2、Map端的Shuffle过程: 3、在Reduce端的Shuffle过程 7.4 实例分析&am…

mysql是什么

mysql是什么 是DBMS软件系统,并不是一个数据库,管理数据库 DBMS相当于用户和数据库之间的桥梁,有超过300种不同的dbms系统 mysql是关系型数据库,关系型数据库存储模型很想excel,用行和列组织数据 sql是一门编程语言…

LUA 语言中subtree 的使用教程

在线编辑器: https://www.runoob.com/try/runcode.php?filenameHelloWorld&typelua 在Lua语言中,"subtree"通常指的是一个子表或者子树,它指的是一个Lua表(table)中的一个部分,可以是一个单…

自定义注解+AOP形式监控接口调用日志

目的&#xff1a; 通过自定义注解&#xff0c;在需要监控接口调用输出日志的类或方法上&#xff0c;加上自定义注解&#xff0c;实现无侵入式接口监控。 实现&#xff1a; idea结构 1、导入pom <dependency><groupId>org.aspectj</groupId><artifactI…

你的 Python 代码太慢了吗?协程和多线程来拯救!

目录 协程&#xff08;Coroutine&#xff09; 多线程&#xff08;Multithreading&#xff09; 协程与多线程的原理 协程的原理 多线程的原理 实践案例 使用协程案例 使用多线程案例 大家好&#xff0c;在Python编程中&#xff0c;处理并发任务时&#xff0c;我们经常会…

LLM大模型:如何选择合适的 Embedding 模型?

检索增强生成&#xff08;RAG&#xff09;是生成式 AI &#xff08;GenAI&#xff09;中的一类应用&#xff0c;支持使用自己的数据来增强 LLM 模型&#xff08;如 ChatGPT&#xff09;的知识。 RAG 通常会用到三种不的AI模型&#xff0c;即 Embedding 模型、Rerankear模型以及…

数据质量管理-时效性管理

前情提要 根据GB/T 36344-2018《信息技术 数据质量评价指标》的标准文档&#xff0c;当前数据质量评价指标框架中包含6评价指标&#xff0c;在实际的数据治理过程中&#xff0c;存在一个关联性指标。7个指标中存在4个定性指标&#xff0c;3个定量指标&#xff1b; 定性指标&am…

视频号视频怎么保存到手机,视频号视频怎么保存到手机相册里,苹果手机电脑都可以用

随着数字媒体的蓬勃发展&#xff0c;视频已成为我们日常生活中不可或缺的一部分。视频号作为众多视频分享平台中的一员&#xff0c;吸引了大量用户上传和分享各类精彩视频。然而&#xff0c;有时我们可能希望将视频号上的视频下载下来,以下将详细介绍如何将视频号的视频。 方法…

[DASP]玩机!在组织一套音频系统之前,我们先要知道这套系统里面有什么东西。

前言 现在不是搞音频嘛&#xff0c;正好自己买了无源音箱&#xff0c;买了套DSP芯片玩一下 流程 上图是我们组织一套音频系统的流程&#xff0c;首先我们需要知道各个元件是做什么的 1. 音源&#xff08;例如麦克风、音乐播放器等&#xff09;&#xff1a; 产生模拟音频信号…

无忧易售新功能:一键白底转换,升级产品图片质感

在电商领域不断追求卓越与效率的今天&#xff0c;无忧易售ERP推出一键白底转换功能&#xff0c;为卖家们提供前所未有的便捷与高效&#xff0c;改变了商品图片处理的传统模式&#xff0c;革新了卖家们的图片处理体验&#xff0c;让商品展示焕然一新&#xff0c;助力商家在激烈的…

Java--常用类APl(复习总结)

前言: Java是一种强大而灵活的编程语言&#xff0c;具有广泛的应用范围&#xff0c;从桌面应用程序到企业级应用程序都能够使用Java进行开发。在Java的编程过程中&#xff0c;使用标准类库是非常重要的&#xff0c;因为标准类库提供了丰富的类和API&#xff0c;可以简化开发过…

Softmax函数的作用

Softmax 函数主要用于多类别分类问题&#xff0c;它将输入的数值转换为概率分布。 具体来说&#xff0c;对于给定的输入向量 x [x_1, x_2,..., x_n] &#xff0c;Softmax 函数的输出为 y [y_1, y_2,..., y_n] &#xff0c;其中&#xff1a; 这样&#xff0c;Softmax 函数的输…

python selenium 打开网页

selenium工具类 - 文件名 seleniumkit.py 代码如下 # -*- coding:utf-8 _*-from selenium import webdriverimport os import timefrom selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from seleniu…

【Linux】解锁并发:多线程同步技术详解与应用实践

文章目录 前言&#xff1a;1. 同步概念2. 条件变量&#xff1a;实现线程间同步的&#xff01;2.1. 条件变量是什么&#xff1f;2.2. 认识条件变量接口 3. 写一个测试代码——验证线程的同步机制4. 生产消费模型5. 生产消费模型 条件变量6. 线程池7. 可重入 VS 线程安全7.1. 概…

ModuleNotFoundError: No module named ‘_sysconfigdata_x86_64_conda_linux_gnu‘

ModuleNotFoundError: No module named _sysconfigdata_x86_64_conda_linux_gnu 1.软件环境⚙️2.问题描述&#x1f50d;3.解决方法&#x1f421;4.结果预览&#x1f914; 1.软件环境⚙️ Ubuntu 20.04 Python 3.7.0 2.问题描述&#x1f50d; 今天发现更新conda之后&#xff0…

【Python机器学习】分类向量——One-Hot编码(虚拟变量)

为了学习分类特征&#xff0c;以某国成年人收入数据集&#xff08;adult&#xff09;为例&#xff0c;adult数据集的任务是预测一名工人的收入是高于50k还是低于50k&#xff0c;这个数据集的特征包括工人的年龄、雇佣方式、教育水平、性别、每周工作时长、职业等。 这个任务属于…

第二届Godot游戏开发大赛来啦!

第二届Godot游戏开发大赛来啦&#xff01; 我们的开发大赛正式定名为Godot Hub Festival 2024&#xff0c;以后将按照年份命名。 另外&#xff0c;本次比赛将和openKylin开源社区的SIG组们合作举办(因此也可以叫Godot openKylin开发大赛)。比赛定于2024年7月1日正式开始&#x…

基于Java的旅游景区网站系统(springboot+vue)

作者介绍&#xff1a;计算机专业研究生&#xff0c;现企业打工人&#xff0c;从事Java全栈开发 主要内容&#xff1a;技术学习笔记、Java实战项目、项目问题解决记录、AI、简历模板、简历指导、技术交流、论文交流&#xff08;SCI论文两篇&#xff09; 上点关注下点赞 生活越过…

瑞数(rs6)接口以及源码

测试代码截图如下&#xff1a;调用接口即可直接用 需要dd 有想要学习教程的也能够找我。 如有需求&#xff0c;欢迎&#xff0b;我绿泡泡。 期待你的加入&#xff01;

访问外网的安全保障——反向沙箱

反向沙箱作为一种网络安全技术&#xff0c;其核心理念在于通过构建一个隔离且受控的环境&#xff0c;来有效阻止潜在的网络威胁对真实系统的影响。在当今日益复杂的网络环境中&#xff0c;如何借助反向沙箱实现安全上网&#xff0c;已成为众多用户关注的焦点。 随着信息化的发…