【yolov10】使用自己的数据集训练目标检测模型

【yolov10】使用自己的数据集训练目标检测模型

    • 一、anaconda安装
    • 二、环境配置
    • 三、数据集制作
      • 1、labelimg的安装
      • 2、使用labelimg`
    • 四、正片
      • 1、下载yolov10源码
      • 2、数据集目录
      • 3、训练
      • 4、推理

一、anaconda安装

直接参考前一篇博客:
https://blog.csdn.net/m0_71523511/article/details/136546588

pycharm开发环境参考:
https://www.bilibili.com/video/BV1Cr4y1u76N/?p=3&spm_id_from=pageDriver&vd_source=2a10d30b8351190ea06d85c5d0bfcb2a

二、环境配置

官方给出的环境配置使用的torch版本是2.0.1,我电脑最高也就支持到1.11.0,所以就没法用gpu来训练了,当然也可以用自己的可以使用gpu训练的环境来训练yolov10,就是会有一些依赖报错,根据提示进行修改试试。
打开anaconda命令行:
在这里插入图片描述

conda create -n yolov10 python=3.9
conda activate yolov10
pip install -r requirements.txt
pip install -e .

三、数据集制作

1、labelimg的安装

首先打开cmd命令行(快捷键:win+R)。进入cmd命令行控制台。输入如下的命令:`

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

2、使用labelimg`

①搜索labelimg

在这里插入图片描述

②设置

在这里插入图片描述
格式选择yolo,然后点击open dir,选择存放待打标图片的文件夹,点击change save dir来更改保存标签的文件夹。

③打标

常用快捷键如下:A:切换到上一张图片D:切换到下一张图片W:调出标注十字架del :删除标注框框Ctrl+u:选择标注的图片文件夹Ctrl+r:选择标注好的label标签存在的文件夹

在这里插入图片描述
这样标注完之后可以在保存标签的目录看到yolo格式的标签,它会自己生成一个类别文件:
在这里插入图片描述

四、正片

1、下载yolov10源码

https://github.com/THU-MIG/yolov10
解压后目录如下:
在这里插入图片描述

2、数据集目录

将前面打标好的数据集以下面这种目录格式放置,并新建data.yaml文件:
在这里插入图片描述
data.yaml文件如下:
names根据自己数据集的标签来,train和val就是训练集和验证集的图片路径

train: C:/new_pycharm_project/yolov10-main/datasets/Data/train/images
val: C:/new_pycharm_project/yolov10-main/datasets/Data/val/images# Classes
nc: 3  # number of classes
names: ['person', 'hat', 'one']  # class names

3、训练

在数据集的同级目录下新建一个train.py文件:

from ultralytics import YOLOv10model_yaml_path = "ultralytics/cfg/models/v10/yolov10s.yaml"
#数据集配置文件
data_yaml_path = 'datasets/Data/data.yaml'
#预训练模型
pre_model_name = 'yolov10s.pt'if __name__ == '__main__':#加载预训练模型model = YOLOv10(model_yaml_path).load(pre_model_name)#训练模型results = model.train(data=data_yaml_path,epochs=150,batch=4,name='train_v10')

到以下网址下载s版本的预训练模型,并将此pt模型放置到与train.py的同级目录下:
https://github.com/jameslahm/yolov10/releases/download/v1.0/yolov10s.pt

右击开始训练:
在这里插入图片描述
等待训练结束之后可以在runs目录下找到权重文件:
在这里插入图片描述

4、推理

在数据集的同级目录下新建一个infer.py文件,并放置一张待检测的图片名字为infer.jpg:

from ultralytics import YOLOv10model = YOLOv10("runs/detect/train_v10/weights/best.pt")results = model.predict("infer.jpg")results[0].show()

运行结果如下:
在这里插入图片描述
在这里插入图片描述
可以看出来推理时间很长,我这里只训练了一轮所以效果不好。

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

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

相关文章

击穿盲点——【网络安全】社会工程学中的网络欺骗

社会工程学起源于上世纪60年代左右,是一种通过人际交流的方式来获得情报的非技术渗透手段。这种手段无需过多技术要求,却非常有效,目前已成为危害企业网络安全的重大威胁之一。著名黑客凯文米特尼克在《反欺骗的艺术》中曾提到,人…

SpringBoot+Vue开发记录(七)-- 跨域文件与Restful风格

本篇文章的主要内容是关于项目的跨域配置和给项目添加restful风格接口。 重点是文件粘贴 文章目录 一、 跨域二、Restful风格1. 什么是restful风格?2. 项目文件结构3. 新建文件4. 在Controller中进行修改 一、 跨域 跨域问题暂时也就那样,解决方法就是…

云计算-No-SQL 数据库 (No-SQL Database)

DynamoDB简介 (Introduction to DynamoDB) AWS DynamoDB 是亚马逊提供的一种 NoSQL 数据库,适用于需要快速访问的大规模应用程序。NoSQL 数据库指的是非关系型数据库(或许应该称为“非关系数据库”)。关系型数据库是你之前可能使用过的熟悉的…

深入Django项目实战与最佳实践

title: 深入Django项目实战与最佳实践 date: 2024/5/19 21:41:38 updated: 2024/5/19 21:41:38 categories: 后端开发 tags: Django 基础项目实战最佳实践数据库配置静态文件部署高级特性 第一章:Django项目架构与设计原则 Django框架概述 Django是一个高级的P…

Next.js里app和pages文件夹的区别

最近开始学 Next.js,因为纯自学,有时候网上找到的学习资料都是几年前的,难免会有点 outdated,因此当自己创建的项目结构和视频里呈现的结构不一致时,难免会有点困惑。 例如,今天遇到的第一个问题就是&…

CAD二次开发(2)-将直线对象添加到CAD图形文件

1. 准备工作 创建一个类库项目,如下: 2. 分析Line对象 Line类的初始化方法和参数 using Autodesk.AutoCAD.DatabaseServices; Line line new Line();Line 继承Curve 继承Entity 继承DBObject 继承Drawable 继承RXObject 初始化方法有两个&#xf…

大模型分布式训练并行技术分享

目前业内解决大模型问题,基本以多节点、分布式方案为主。分布式方案具体的实施时,又分为数据并行、参数并行、流水线并行等,针对具体的业务场景采取合适的并行方案方可带来更高的效率。 后续结合业内主流的分布式框架,具体介绍各种…

数据库(5)——DDL 表操作

表查询 先要进入到某一个数据库中才可使用这些指令。 SHOW TABLES; 可查询当前数据库中所有的表。 表创建 CREATE TABLE 表名( 字段1 类型 [COMMENT 字段1注释] ...... 字段n 类型 [COMMENT 字段n注释] )[COMMENT 表注释]; 例如,在student数据库里创建一张studen…

网络安全等级保护:正确配置 Linux

正确配置 Linux 对Linux安全性的深入审查确实是一项漫长的任务。原因之一是Linux设置的多样性。用户可以使用Debian、Red Hat、Ubuntu或其他Linux发行版。有些可能通过shell工作,而另一些则通过某些图形用户界面(例如 KDE 或 GNOME)工作&…

APP安全测试汇总【网络安全】

APP安全测试汇总 一.安装包签名和证书 1.问题说明 检测 APP 移动客户端是否经过了正确签名,通过检测签名,可以检测出安装包在签名后是否被修改过。如 果 APP 使⽤了 debug 进⾏证书签名,那么 APP 中⼀部分 signature 级别的权限控制就会失效…

Unity 生成物体的几种方式

系列文章目录 unity工具 文章目录 系列文章目录前言👉一、直接new的方式创建生成1-1.代码如下1-2. 效果图 👉二、使用Instantiate创建生成(GameObject)2-1.代码如下2-2.效果如下图 👉三.系统CreatePrimitive创建生成3…

数据结构之栈和队列(超详解

目录 一.栈 1.栈的基本概念 2.栈的基本操作 3.栈的储存结构 ①栈的顺序储存 (1)基本概念 (2)代码实现 ②栈的链式储存 (1)基本概念 (2)代码实现 二.队列 1.队列的基本概念 2.队列的基本操作 3.队列的储存结构 ①队列的链式储存 (1)基本概念 ​编辑 (2)代码实现 ②…

Spring MVC+mybatis 项目入门:旅游网(一)项目创建与准备

个人博客:Spring MVCmybatis 项目入门:旅游网(一)项目创建与准备 | iwtss blog 先看这个! 这是18年的文章,回收站里恢复的,现阶段看基本是没有参考意义的,技术老旧脱离时代(2024年辣…

从0开始学统计-卡方检验

1.什么是卡方检验? 卡方检验是一种用于检验观察频数与期望频数之间差异的统计方法。它通常用于分析分类变量之间的关联性或独立性。在卡方检验中,我们将观察到的频数与期望频数进行比较,从而确定它们之间的差异是否显著。 卡方检验的基本思…

【机器学习与大模型】驱动下的应用图像识别与处理

摘要: 本文深入探讨了机器学习在图像识别与处理领域的应用,特别是在大模型的推动下所取得的巨大进展。详细阐述了图像识别与处理的基本原理、关键技术,以及机器学习算法和大模型如何提升其性能和准确性。通过实际案例分析了其在多个领域的广泛…

虚机配置USB CDROM设备热迁移crash

虚机配置USB CDROM设备热迁移crash 问题现象定位过程堆栈分析日志分析打开trace异常日志上下文分析SpecificationCBWCSW 命令执行发送读命令读取数据 正常日志异常堆栈 修复方案结论 基础原理设备模型数据结构设备实例化 UHCIFrame ListTDQH SCSI 问题现象 dogfood环境一台虚机…

夏日炎炎,手机如何避免变成热源?这些降温技巧分享给你

夏日炎炎,手机也容易“中暑”。 高温不仅会让手机性能大打折扣,还可能引发安全隐患。因此,如何让手机在高温下“冷静”下来,成为了许多手机用户关心的问题。 本文将为你提供一些实用的降温技巧,帮助你的手机安全度过…

小猪APP分发:一站式免费应用推广解决方案

在竞争激烈的移动应用市场中,寻找一个高效且成本友好的方式来推广自己的应用程序,成为了众多开发者面临的共同挑战。幸运的是,像"小猪APP分发www.appzhu.cn"这样的平台应运而生,为开发者提供了一个全面、免费的应用分发…

(优作)风力摆控制系统

本系统由瑞萨 100LGA 单片机控制模块, 6050 三轴陀螺仪加速度模块,直流风机及其驱 动模块,显示模块,键盘模块,蜂鸣器模块以及风力摆机械结构组成, MPU6050 采集风摆姿 态,单片机处理姿态数…