基于YOLOv9训练自己的数据集

本文详细描述了在PyCharm中配置Yolov9环境的过程,包括创建虚拟环境、安装依赖,以及如何根据自己的数据集构建数据文件目录和修改源码。重点介绍了如何划分训练集、验证集和测试集。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 环境配置

下载:https://github.com/WongKinYiu/yolov9/tree/main
在这里插入图片描述
将压缩包放到自己的目标目录解压

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

查询自己的cuda版本:
在这里插入图片描述

选择下载合适的gpu版本的torch和torchvision:https://download.pytorch.org/whl/torch_stable.html
或官方链接:
在这里插入图片描述
这是我下载的版本:
在这里插入图片描述
然后命令行激活虚拟环境并cd到torch和torchvision的下载目录并通过pip install 下载

在这里插入图片描述
在这里插入图片描述

1.2 pycharm

打开setting设置自己的虚拟环境
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2 训练自己的数据

2.1 构建数据文件目录

这里我的目录结构如下:
在这里插入图片描述

# 数据集分割

import os
import random

trainval_percent = 0.95
train_percent = 0.95
xmlfilepath = 'E:/yolov9-main/data/Annotations'
txtsavepath = 'E:/yolov9-main/data/images'
total_xml = os.listdir(txtsavepath)

num = len(total_xml)
list = range(num)
tv = int(num * trainval_percent)
tr = int(tv * train_percent)
trainval = random.sample(list, tv)
train = random.sample(trainval, tr)

ftrainval = open('E:/yolov9-main/data/ImageSets/trainval.txt', 'w')
ftest = open('E:/yolov9-main/data/ImageSets/test.txt', 'w')
ftrain = open('E:/yolov9-main/data/ImageSets/train.txt', 'w')
fval = open('E:/yolov9-main/data/ImageSets/val.txt', 'w')

for i in list:
    img_path = os.path.join(txtsavepath, total_xml[i])
    img_name, img_ext = os.path.splitext(total_xml[i])

    if img_ext.lower() in ['.jpg', '.jpeg', '.png', '.bmp']:
        img_type = img_ext.lower()[1:]  # 获取图片实际格式,去除前面的点
        name = f'E:/yolov9-main/data/images/{img_name}.{img_type}\n'

        if i in trainval:
            ftrainval.write(name)
            if i in train:
                ftrain.write(name)
            else:
                fval.write(name)
        else:
            ftest.write(name)

ftrainval.close()
ftrain.close()
fval.close()
ftest.close()

2.2 根据自己的路径修改源码

修改部分如下:
在这里插入图片描述

这里的yaml文件和路径等需要根据自己的数据集进行修改

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IRUIRUI__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值