使用YOLOv10训练自己的数据集

1. yolov10源码下载

THU-MIG/yolov10: YOLOv10: Real-Time End-to-End Object Detection (github.com)icon-default.png?t=N7T8https://github.com/THU-MIG/yolov10?tab=readme-ov-file

2. 环境配置

        预先安装好ANACONDA、PyCharm或者VSCode等基本软件。参考以下博客:

史上最全最详细的Anaconda安装教程-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/wq_ocean_/article/details/103889237(超详细)Python+PyCharm的安装步骤及PyCharm的使用(含快捷键)_python pycharm-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/junleon/article/details/120698578检测电脑里的python版本:

        我的是3.11。

使用Anaconda Prompt 创建虚拟环境,再激活环境。

conda create -n yolov10 python=3.11
conda activate yolov10 

安装支持包

pip install -r requirements.txt
pip install -e .

使用PyCharm打开下载的yolov10源码,右下角切换到创建的环境

创建train.py,执行以下代码

from ultralytics import YOLOv10
import osos.environ["GIT_PYTHON_REFRESH"] = "quiet"
os.environ["KMP_DUPLICATE_LIB_OK"] = "TRUE"if __name__ == '__main__':model = YOLOv10('yolov10n.pt')result = model.train(data=coco128.yaml, epochs=40, batch=2, imgsz=640, device='cpu')

直接选用大家都有cpu训练,如果要使用GPU,将值改为0 即可,GPU使用依赖与yolov8一致。

YOLOv10 -Ultralytics YOLO 文档icon-default.png?t=N7T8https://docs.ultralytics.com/zh/models/yolov10/#model-variantsyolov10封装的很好,使用起来没什么难度,参考官方给的文档就能跑起来。

3. 使用所得权重文件预测图片

from ultralytics import YOLOv10
model = YOLOv10(r'C:\Users\Administrator\Desktop\yolov10-main\runs\detect\train4\weights\best.pt')
model.predict(save=True)

4. 性能分析

        总体效果还是比其他版本好很多的,但是我的训练时间貌似比v8长不少,这里论文中也给出了解释。

与其他最先进的探测器相比:

  • YOLOv10-S / X 比RT-DETR-R18 / R101 快 1.8 倍 / 1.3 倍,精度相似
  • 在精度相同的情况下,YOLOv10-B 比 YOLOv9-C 减少了 25% 的参数,延迟时间缩短了 46%
  • YOLOv10-L / X 的性能比YOLOv8-L / X 高 0.3 AP / 0.5 AP,参数少 1.8× / 2.3×

以下是 YOLOv10 变体与其他先进机型的详细比较:

模型参数 (M)FLOP (G)APval (%)延迟(毫秒)延迟(前向)(毫秒)
YOLOv6-3.0-N4.711.437.02.691.76
金色-YOLO-N5.612.139.62.921.82
YOLOv8-N3.28.737.36.161.77
YOLOv10-N2.36.739.51.841.79
YOLOv6-3.0-S18.545.344.33.422.35
金色-YOLO-S21.546.045.43.822.73
YOLOv8-S11.228.644.97.072.33
YOLOv10-S7.221.646.82.492.39
RT-DETR-R1820.060.046.54.584.49
YOLOv6-3.0-M34.985.849.15.634.56
金色-YOLO-M41.387.549.86.385.45
YOLOv8-M25.978.950.69.505.09
YOLOv10-M15.459.151.34.744.63
YOLOv6-3.0-L59.6150.751.89.027.90
金色-YOLO-L75.1151.751.810.659.78
YOLOv8-L43.7165.252.912.398.06
RT-DETR-R5042.0136.053.19.209.07
YOLOv10-L24.4120.353.47.287.21
YOLOv8-X68.2257.853.916.8612.83
RT-DETR-R10176.0259.054.313.7113.58
YOLOv10-X29.5160.454.410.7010.60

参考两位博主的论文分析

【论文阅读】 YOLOv10: Real-Time End-to-End Object Detection-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/shuaijieer/article/details/139182282

YOLOv10详细解读 | 一文带你深入了解yolov10的创新点(附网络结构图 + 举例说明)-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/java1314777/article/details/139206290

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

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

相关文章

SQL注入的危害和原理

在Web应用开发中,SQL注入是一种常见的安全漏洞,它允许攻击者通过注入恶意的SQL语句来执行非法操作,甚至获取敏感数据。本篇博客将详细解释SQL注入的危害和原理,并提供一些解决方案,以帮助新人快速理解并避免这种安全威…

系统常用命令(也有shell相关的语言)

排查系统的磁盘占用 sudo du -h --max-depth1 df ./ 是查看挂载在哪里的意思获取当前目录下文件的总大小 du -sh 排查系统后台正在运行的python程序 ps aux | grep python杀死对应id的程序 kill -9 ID 统计当前目录下有多少文件 ls -l|grep "^-"| wc -l 显示一个脚…

unity2D跑酷游戏

项目成果 项目网盘 导入资源包 放入Assets文件Assets资源文件 游戏流程分析 摄像机size调小,让图片占满屏幕 人跑本质,相对运动,图片无限向右滚动 图片720,缩小100倍第二个图片x为7.2每unit px100两张图片刚好挨着连贯 空对象Bg…

Yolov10笔记

一、前言 清华大学团队设计的Yolov10. 在这项工作中,我们主要从后处理和模型结构两方面进一步优化YOLO系列模型的性能和延迟平衡。我们首先为YOLO引入了端到端训练的一致双重分配,这在大大降低推理延迟的情况下保证了性能。此外,我们针对YOLO…

【计算机毕设】设计与实现基于SpringBoot的在线文档管理系统 - 源码免费(私信领取)

免费领取源码 | 项目完整可运行 | v:chengn7890 诚招源码校园代理! 1. 研究目的 在当今信息爆炸的时代,文档管理对于任何组织都至关重要。基于SpringBoot的在线文档管理系统的设计旨在为用户提供一个便捷、高效、安全的…

图像的web框架上的编码和解码

编码发送 #!/usr/bin/env pythonimport requests, json import base64ip "127.0.0.1"headers {content-type: application/json}header_dict {User-Agent: Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko,"Content-Type": "appl…

原来这叫读写锁 —— ReentrantReadWriteLock

大家好,我是徒手敲代码。 今天来介绍一下java.util.concurrent.locks包下的ReentrantReadWriteLock 顾名思义,它是读写锁的一种,同一时间,读操作可以有多个线程,但是写操作只能有一个线程,并且读和写不能…

File类(二)

遍历文件夹的功能 方法名称 说明 public String[ ] list() 获取当前目录下所有的"一级文件名称"到一个字符串数组中去返回。 public File[ ] listFiles() 获取当前目录下所有的"一级文件对象"到一个文件对象数组中去返回(重点)…

【问题解决】MySQL恢复数据库报错Unknown command ‘\‘‘.

问题 使用以下命令备份恢复数据库&#xff0c;恢复失败提示ERROR at line 39595: Unknown command \. #备份数据库 mysqldump -u username -p --no-create-db -R databasename > dump.sql #恢复数据库 mysql -u username -p databasename2 < dump.sql问题原因及解法 原…

css基本操作及使用

CSS 的基本简介 什么是 CSS? CSS 指层叠样式表 (Cascading Style Sheets) 样式定义如何显示 HTML 元素 样式通常存储在样式表中 把样式添加到 HTML 4.0 中&#xff0c;是为了解决内容与表现分别的问题 外部样式表可以极大提高工作效率 外部样式表通常存储在 CSS 文件中 …

轻松拿捏C语言——【内存函数】

&#x1f970;欢迎关注 轻松拿捏C语言系列&#xff0c;来和 小哇 一起进步&#xff01;✊ &#x1f389;创作不易&#xff0c;请多多支持&#x1f389; &#x1f308;感谢大家的阅读、点赞、收藏和关注&#x1f495; &#x1f339;如有问题&#xff0c;欢迎指正~~ 目录&#x1…

JVM学习-类加载过程(一)

概述 在Java中数据类型分为基本数据类型和引用数据类型&#xff0c;基本数据类型由虚拟机预先定义&#xff0c;引用数据类型则需要进行类的加载按Java虚拟机规范&#xff0c;从class文件加载到内存中的类&#xff0c;到类卸载出内存为止&#xff0c;它的整个生命周期包含以下7…

测试工具fio

一、安装部署 fio是一款优秀的磁盘IO测试工具&#xff0c;在Linux中比较常用于测试磁盘IO 其下载地址&#xff1a;https://brick.kernel.dk/snaps/fio-2.1.10.tar.gz 或者登录其官网&#xff1a;http://freshmeat.sourceforge.net/projects/fio/ 进行下载。 tar -zxvf fio-…

【redis】宝塔,线上环境报Redis error: ERR unknown command del 错误

两种方式&#xff1a; 1.打开宝塔上的redis&#xff0c;通过配置文件修改权限&#xff0c;注释&#xff1a;#rename-command DEL “” 2.打开服务器&#xff0c;宝塔中默认redis安装位置是&#xff1a;cd /www/server/redis 找到redis.conf,拉到最后&#xff0c;注释#rename-co…

Flutter 验证码输入框

前言&#xff1a; 验证码输入框很常见&#xff1a;处理不好 bug也会比较多 想实现方法很多&#xff0c;这里列举一种完美方式&#xff0c;完美兼容 软键盘粘贴方式 效果如下&#xff1a; 之前使用 uniapp 的方式实现过一次 两种方式&#xff08;原理相同&#xff09;&#xff1…

二叉树链式结构的前序、中序、后序、层序遍历

文章目录 一、二叉树创建二、前序遍历概念以及解释代码 三、中序遍历概念及解释代码 四、后序遍历概念及解释代码 五、层序遍历概念及解释代码 一、二叉树创建 &mesp; 实现二叉树的遍历&#xff0c;我们要先手搓出一个二叉树&#xff0c;在次基础上实现二叉树的前序、中序…

【RLHF个人笔记】RLHF:Reinforcement Learning from Human Feedback具体过程

【RLHF个人笔记】RLHF:Reinforcement Learning from Human Feedback具体过程 RLHF训练的三个步骤步骤1&#xff1a;收集数据与有监督训练策略步骤2&#xff1a;收集数据训练奖励模型步骤3&#xff1a;结合奖励模型利用强化学习算法如PPO算法来优化策略 参考内容 RLHF训练的三个…

今年一定要做的副业兼职,1篇文章收入600,批量操作收入翻倍

随着公众号开放公域流量&#xff0c;流量主收入迅速攀升&#xff0c;吸引了众多投资者纷纷涌入这一领域&#xff0c;通过流量主赚取了丰厚的利润。上周&#xff0c;我曾向大家介绍了一些借助公众号流量主实现盈利的策略。 然而&#xff0c;公众号的盈利途径远不止流量主一种。…

数据库(14)——DQL排序查询

DQL排序查询语法 SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1,字段2 排序方式2; 排序方式 ASC&#xff1a;升序 DESC&#xff1a;降序 注&#xff1a;如果是多字段排序&#xff0c;当第一个字段值相同时&#xff0c;才会根据第二个字段进行排序。如果不写排序方式默…

qcc51xx如何配置spdif输入

qcc51xx如何配置spdif输入 /* Copyright (c) 2005 - 2018 Qualcomm Technologies International, Ltd. */ /** \file \ingroup sink_app \brief This file handles all Synchronous connection messages */ /*********************************************************…