YOLOv9训练自己的数据集:最新最详细教程

2024-05-16 05:04

本文主要是介绍YOLOv9训练自己的数据集:最新最详细教程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、代码及论文链接:

代码链接:https://github.com/WongKinYiu/yolov9/tree/main

论文链接:https://arxiv.org/abs/2402.13616

二、使用步骤

1.1 虚拟环境配置

创建一个虚拟环境用于单独对yolov9的环境进行配置:

conda create -n yolov9 python=3.8

配置虚拟环境的工程依赖

# 激活你的虚拟环境
activate yolov9
# cd到你的yolov9-main
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
# 这里我提前注释掉了torch的安装部分,需要自行安装gpu版的torch、torchvision

此时我们安装的只是基础的CPU状态,如果需要使用GPU训练,需要在pytorch中找到适合自己的cuda版本的torch口令然后下载。(我用的原博主的,因为我自己选的有问题hhh)

conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.7 -c pytorch -c nvidia

找到适合自己的cuda版本方法:①打开NVIDIA控制面板:

一般按照上面操作,环境就配好了。可以在train.py里面调试一下使用torch.cuda.is_available()来判断是否GPU成功可用。

1.2 数据集准备

数据集:东北大学缺陷检测数据集(6类别缺陷)

数据集百度网盘链接:链接:https://pan.baidu.com/s/1QktBnMcDdsQaT6JQXBjNPA 
提取码:cslw                 数据集有效期:一年

新建datasets文件,包含images和labels。

新建my_data.yaml,内容如下:path改为自己的datasets位置

path: D:\documents\yolov9-main\datasets  # dataset root dir
train: images/train  # train images (relative to 'path') 128 images
val: images/val # val images (relative to 'path') 128 images
test: images/test # test images (optional)nc: 6# Classes
names:  0: xxx1: xxx

 

 

下载预训练文件

https://github.com/WongKinYiu/yolov9/releases/download/v0.1/yolov9-c-converted.pt

2.1 填写训练脚本

左上角点击文件,点击设置,设置环境为新建的环境yolov9

        打开YOLOv9工程下的train_dual.py脚本文件,并按图中依次填入以下路径:

2.2运行即可。

3.训练
       我这里租用的是云服务器,因此要配置一些环境(如果是拿自己电脑训练的话,就可以跳过环境配置)。

其实也很简单:pip install -r requirements.txt     apt-get update   apt-get install libglib2.0-dev

之后开始训练:

给大家看看前十次的训练结果

咋们看看结果

PR曲线,可以看出基本是吊打了之前的yolo

4.检测一下试试效果
先修改一下detect.py中的参数

1)这里需要将runs/train/exp5/weights中的best.pt复制到与detect.py同级目录下

2)在detect.py同级目录新建testfile文件夹,里面放你要检测的图像

3)修改coco128为my_data.yaml

好运行一下:python detect.py

这篇关于YOLOv9训练自己的数据集:最新最详细教程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/993949

相关文章

VMware9.0详细安装

双击VMware-workstation-full-9.0.0-812388.exe文件: 直接点Next; 这里,我选择了Typical(标准安装)。 因为服务器上只要C盘,所以我选择安装在C盘下的vmware文件夹下面,然后点击Next; 这里我把√取消了,每次启动不检查更新。然后Next; 点击Next; 创建快捷方式等,点击Next; 继续Cont

(超详细)YOLOV7改进-Soft-NMS(支持多种IoU变种选择)

1.在until/general.py文件最后加上下面代码 2.在general.py里面找到这代码,修改这两个地方 3.之后直接运行即可

【服务器运维】MySQL数据存储至数据盘

查看磁盘及分区 [root@MySQL tmp]# fdisk -lDisk /dev/sda: 21.5 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical)

Java注解详细总结

什么是注解?         Java注解是代码中的特殊标记,比如@Override、@Test等,作用是:让其他程序根据注解信息决定怎么执行该程序。         注解不光可以用在方法上,还可以用在类上、变量上、构造器上等位置。 自定义注解  现在我们自定义一个MyTest注解 public @interface MyTest{String aaa();boolean bbb()

SQL Server中,查询数据库中有多少个表,以及数据库其余类型数据统计查询

sqlserver查询数据库中有多少个表 sql server 数表:select count(1) from sysobjects where xtype='U'数视图:select count(1) from sysobjects where xtype='V'数存储过程select count(1) from sysobjects where xtype='P' SE

Steam邮件推送内容有哪些?配置教程详解!

Steam邮件推送功能是否安全?如何个性化邮件推送内容? Steam作为全球最大的数字游戏分发平台之一,不仅提供了海量的游戏资源,还通过邮件推送为用户提供最新的游戏信息、促销活动和个性化推荐。AokSend将详细介绍Steam邮件推送的主要内容。 Steam邮件推送:促销优惠 每当平台举办大型促销活动,如夏季促销、冬季促销、黑色星期五等,用户都会收到邮件通知。这些邮件详细列出了打折游戏、

X-AnyLabeling使用教程

1.AI 模型自动分割标注使用教程 2.AI 模型自动目标检测标注使用教程

YOLO v3 训练速度慢的问题

一天一夜出了两个模型,仅仅迭代了200次   原因:编译之前没有将Makefile 文件里的GPU设置为1,编译的是CPU版本,必须训练慢   解决方案: make clean  vim Makefile make   再次训练 速度快了,5分钟迭代了500次

气象站的种类和应用范围可以根据不同的分类标准进行详细的划分和描述

气象站的种类和应用范围可以根据不同的分类标准进行详细的划分和描述。以下是从不同角度对气象站的种类和应用范围的介绍: 一、气象站的种类 根据用途和安装环境分类: 农业气象站:专为农业生产服务,监测土壤温度、湿度等参数,为农业生产提供科学依据。交通气象站:用于公路、铁路、机场等交通场所的气象监测,提供实时气象数据以支持交通运营和调度。林业气象站:监测林区风速、湿度、温度等气象要素,为林区保护和

数据时代的数字企业

1.写在前面 讨论数据治理在数字企业中的影响和必要性,并介绍数据治理的核心内容和实践方法。作者强调了数据质量、数据安全、数据隐私和数据合规等方面是数据治理的核心内容,并介绍了具体的实践措施和案例分析。企业需要重视这些方面以实现数字化转型和业务增长。 数字化转型行业小伙伴可以加入我的星球,初衷成为各位数字化转型参考库,星球内容每周更新 个人工作经验资料全部放在这里,包含数据治理、数据要