当前位置: 首页 > news >正文

YOLOv10环境搭建推理测试

引子

两个多月前YOLOv9发布(感兴趣的童鞋可以移步YOLOv9环境搭建&推理测试_yolov9安装-CSDN博客),这才过去这么短的时间,YOLOv10就横空出世了。现在YOLO系列搞得就和追剧一样了。。。OK,那就让我们开始吧。

一、模型介绍

1、作者提出了一种新颖的一致性双重分配策略,用于无需NMS的YOLO。设计了一种双重标签分配方法,通过一对多分支在训练过程中提供丰富的监督信息,以及通过一对一分支在推理过程中实现高效率。此外,为了确保两个分支之间的和谐监督,作者创新性地提出了连贯匹配度量,这可以很好地减少理论上的监督差距,并带来性能的提升。

2、作者提出了一种整体效率-精度驱动的模型设计策略,用于YOLO的模型架构。作者展示了新型轻量级分类头、空间-通道解耦降采样和排名引导的块设计,这些设计大大减少了计算冗余并实现了高效率。作者进一步引入了大核卷积和创新的部分自注意力模块,这些模块在低成本的条件下有效地提升了性能。

3、基于上述方法,作者推出了YOLOv10,这是一个新的实时端到端目标检测器。广泛的实验表明,YOLOv10与其他先进检测器相比,在性能和效率权衡方面达到了最先进水平。局限性。 由于计算资源的限制,作者没有在大规模数据集上进行YOLOv10的预训练,例如Objects365 [47]。此外,尽管作者在无需NMS的训练下使用一对一 Head 可以获得具有竞争力的端到端性能,但与使用NMS的一对多训练相比,仍然存在性能差距,特别是在小型模型中更为明显。例如,在YOLOv10-N和YOLOv10-S中,使用NMS的一对多训练的性能比无需NMS的训练分别高出1.0% AP和0.5% AP。作者将在未来的工作中探索进一步缩小差距并实现更高性能的方法。

二、环境安装

代码仓库

GitHub - THU-MIG/yolov10: YOLOv10: Real-Time End-to-End Object Detection

环境安装

docker run --rm -it --gpus=all -v /datas/work/zzq:/workspace pytorch/pytorch:2.0.1-cuda11.7-cudnn8-devel bash

cd /workspace/YOLOv10/yolov10-main

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

pip install -e . -i https://pypi.tuna.tsinghua.edu.cn/simple

三、测试推理

(1)训练

yolo detect train data=coco.yaml model=yolov10n/s/m/b/l/x.yaml epochs=500 batch=256 imgsz=640 device=0,1,2,3,4,5,6,7

(2)评估

yolo val model=yolov10n/s/m/b/l/x.pt data=coco.yaml batch=256

(3)推理

模型下载

Release Update checkpoints with other attributes. · THU-MIG/yolov10 · GitHub

yolo predict model=yolov10x.pt

(4)模型转换

转onnx

yolo export model=yolov10x.pt format=onnx opset=13 simplify

测试onnx

相关文章:

  • 程序员的灵魂究竟是什么
  • 人天软件项目管理复盘
  • AI大模型页面
  • 华为校招机试 - 字符串解析(20240515)
  • Django企业招聘后台管理系统开发实战四
  • 什么牌子的无线领夹麦克风好?一文读懂领夹麦克风什么牌子好!
  • Java排序算法汇总篇,八种排序算法
  • 【启明智显芯片应用】Model3C芯片4.3寸拼图机应用方案
  • Ubuntu上安装Open CASCADE(OCC)
  • python小练习03
  • 404错误页面源码,简单实用的html错误页面模板
  • zynq PS点灯
  • java自学阶段一:基础知识学习
  • 【Qt之·类QCoreApplication】
  • Python - 字典(无序、复制)
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • 〔开发系列〕一次关于小程序开发的深度总结
  • Apache Pulsar 2.1 重磅发布
  • co.js - 让异步代码同步化
  • input的行数自动增减
  • JS创建对象模式及其对象原型链探究(一):Object模式
  • js中forEach回调同异步问题
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • Redis学习笔记 - pipline(流水线、管道)
  • SQLServer之创建显式事务
  • Sublime Text 2/3 绑定Eclipse快捷键
  • vue学习系列(二)vue-cli
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 分布式事物理论与实践
  • 基于Android乐音识别(2)
  • 理解在java “”i=i++;”所发生的事情
  • 智能合约开发环境搭建及Hello World合约
  • Linux权限管理(week1_day5)--技术流ken
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • ​探讨元宇宙和VR虚拟现实之间的区别​
  • #每日一题合集#牛客JZ23-JZ33
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (4)事件处理——(7)简单事件(Simple events)
  • (BAT向)Java岗常问高频面试汇总:MyBatis 微服务 Spring 分布式 MySQL等(1)
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (笔试题)合法字符串
  • (补充)IDEA项目结构
  • (分布式缓存)Redis持久化
  • (附源码)spring boot儿童教育管理系统 毕业设计 281442
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (面试必看!)锁策略
  • (牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)
  • (未解决)macOS matplotlib 中文是方框
  • (转)程序员疫苗:代码注入
  • .gitignore文件使用
  • .net core + vue 搭建前后端分离的框架
  • .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
  • .NET Core中Emit的使用