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

一、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

二、环境配置

打开anaconda命令行:
在这里插入图片描述

conda create -n yolov12 python=3.9
conda activate yolov12

#注意这里要在windows下跑,就不能下载txt中的whl文件,所以删除flash_attn-2.7.3+cu11torch2.2cxx11abiFALSE-cp311-cp311-linux_x86_64.whl
pip install -r requirements.txt
pip install -e .

这里需要将ultralytics/nn/modules/block.py里面的第1160-1164行注释,然后将1219行的# if x.is_cuda:改成# if False。
这样才可以不使用flash_attn_func加速计算,使用下面的分支效果是一样的,只是慢一点。

三、数据集制作

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、下载yolo12源码

https://github.com/sunsmarterjie/yolov12
解压后目录如下:
在这里插入图片描述

2、数据集目录

将前面打标好的数据集以下面这种目录格式放置,并新建data.yaml文件:
在这里插入图片描述

data.yaml文件如下:
names根据自己数据集的标签来,train和val就是训练集和验证集的图片路径

train: C:/new_pycharm_project/yolo12-main/datasets/Data/train/images
val: C:/new_pycharm_project/yolo12-main/datasets/Data/val/images


# Classes
nc: 3  # number of classes
names: ['person', 'hat', 'one']  # class names

3、训练

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

from ultralytics import YOLO

model = YOLO('./ultralytics/cfg/models/v12/yolov12.yaml')

# Train the model
results = model.train(
  data='./datasets/Data/data.yaml',
  epochs=600,
  batch=4,
  imgsz=640,
  scale=0.5,  # S:0.9; M:0.9; L:0.9; X:0.9
  mosaic=1.0,
  mixup=0.0,  # S:0.05; M:0.15; L:0.15; X:0.2
  copy_paste=0.1,  # S:0.15; M:0.4; L:0.5; X:0.6
  device="cpu",
)

右击开始训练:
在这里插入图片描述

等待训练结束之后可以在runs目录下找到权重文件。

4、推理

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

from ultralytics import YOLO

model = YOLO('yolov12{n/s/m/l/x}.pt')
model.predict()

运行结果如下:
在这里插入图片描述

### 使用YOLOv12训练自定义数据集 对于使用YOLOv12模型训练自定义数据集的过程,虽然具体细节可能因版本更新而有所变化,但基本流程可以参照已有的YOLO系列模型训练指南并做适当调整。 #### 安装依赖项和设置环境 为了确保能够顺利运行YOLOv12的相关脚本,首先需要按照官方文档或教程来安装必要的库以及配置开发环境。这通常涉及到安装Python、PyTorch以及其他所需的软件包,并且如果计划利用GPU加速,则还需要正确安装CUDA和cuDNN等工具[^3]。 #### 准备数据集 针对特定的应用场景收集图像样本,并将其划分为训练集(train)和测试集(test),同时标注每张图片中的目标位置及其类别标签。这些标注文件一般采用YAML格式保存,在此过程中需要注意遵循YOLO框架所规定的目录结构与命名规则。 #### 修改配置文件 根据实际需求编辑`dataset.yaml`这样的配置文件,指定路径到自己的数据集中去。此外还需调整其他参数比如输入尺寸(`--img`)、批次大小(`--batch`)、迭代次数(`--epochs`)等以适应不同硬件条件下的最优性能表现[^1]。 #### 编写训练命令 启动训练过程可以通过执行类似于下面这条指令完成: ```bash !python train.py --img 640 --batch 16 --epochs 50 --data dataset.yaml --cfg models/yolov12.yaml --weights '' ``` 这里假设存在一个名为`yolov12.yaml`的预设网络架构描述文件用于初始化新的检测器实例;如果没有现成权重可供加载则留空字符串表示随机初始化。 请注意上述操作基于现有资料推测而来,由于目前尚未有关于YOLOv12的具体公开说明材料,因此建议密切关注官方发布的信息渠道获取最权威指导。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值