YOLOv12GPU训练自己的数据(windows适用) (草履虫都能看懂系列)

目录

1、YOLOv12介绍

2、yolov11模型图

3、前提所需

4、yolov12模型、权重下载

5、环境配置

5.1.下载yolov12所需虚拟环境

5.2.下载CUDA(GPU所需)

5.3.下载pytorch(GPU所需)

5.4.下载yolov12依赖库

6、pycharm添加解释器

​​​7、数据集制作

8、训练


1、YOLOv12介绍

长期以来,增强YOLO框架的网络架构一直至关重要,但一直专注于基于cnn的改进,尽管注意力机制在建模能力方面已被证明具有优越性。这是因为基于注意力的模型无法匹配基于cnn的模型的速度。本文提出了一种以注意力为中心的YOLO框架,即YOLOv12,与之前基于cnn的YOLO框架的速度相匹配,同时利用了注意力机制的性能优势。YOLOv12在精度和速度方面超越了所有流行的实时目标检测器。例如,YOLOv12-N在T4 GPU上以1.64ms的推理延迟实现了40.6% mAP,以相当的速度超过了高级的YOLOv10-N / YOLOv11-N 2.1%/1.2% mAP。这种优势可以扩展到其他模型规模。YOLOv12还超越了改善DETR的端到端实时检测器,如RT-DETR /RT-DETRv2: YOLOv12- s比RT-DETR- r18 / RT-DETRv2-r18运行更快42%,仅使用36%的计算和45%的参数。

2、yolov12模型图

3、前提所需

anaconda3、pycharm下载完成(最好不要最新版本,也不要太旧,本人使用2021.3)

 4、yolov12模型、权重下载

1.模型下载:github模型下载地址

2.模型权重下载(非必须):下载所需的

直接放yolov12文件夹根目录下

5、环境配置

5.1.下载yolov12所需虚拟环境

 打开anaconda prompt

​​

cd进入你下载的yolov12文件夹中

创建yolov12环境:输入 conda create -n yolov12(代表环境名称)python=3.11(使用Python的版本),按y+回车

无脑复制

conda create -n yolov12 python=3.11

​进入你刚安装的yolov12环境:conda activate yolov12(你的环境名称)

无脑复制

conda activate yolov12

进入后()会变成你环境名称 (判断是否安装成功)

 5.2.下载CUDA(GPU所需)

cuda是连接GPU和模型训练的桥梁,pytorch是进入桥梁那段上坡的路(CPU训练慢,GPU快还好)(最好选择在虚拟环境安装,以下介绍为虚拟机安装过程)

查看cuda最高支持版本,win+R,输入cmd,打开命令窗口,输入nvidia-smi.exe,红框位置为最大可支持安装版本

无脑复制

conda install cudatoolkit=11.8

5.3.下载pytorch(GPU所需)

cuda是连接GPU和模型训练的桥梁,pytorch是进入桥梁那段上坡的路(pytorch库必须和cuda版本匹配)(其实这个在之前下载yolov10虚拟环境已经下载过了,但是为了确保你的pytorch版本和CUDA版本一致,所以这里在从下一遍以确保环境没有问题)

无脑复制(CUDA 11.8)

pytorch有两个安装方案,优先为第一个,因为conda安装会考虑版本协调问题,pip不太会考虑,容易出现版本不协调问题,但是conda安装对网要求很高(可以考虑换源),我给出的意见是先试conda安装,超过15分钟以上安装不了,换pip安装

conda安装

conda install pytorch==2.2.2 torchvision==0.17.2 torchaudio==2.2.2 pytorch-cuda=11.8 -c pytorch -c nvidia

 pip安装

pip install torch==2.2.2 torchvision==0.17.2 torchaudio==2.2.2 --index-url https://download.pytorch.org/whl/cu118

或者去pytorch官网查找(只是教你怎么去找你所下载CUDA对应的pytorch,以防下载的别的版本的CUDA)(例如CUDA=11.8),我之前写过yolov10,其中就有,这边就直接引用了(yolov10

但是考虑yolov12给的版本最好不要换其他的版本,以免出现问题

 5.4.下载yolov12依赖库

ultralytics团队把所有的包都已经封装好了,在requirements.txt中

但是要注意前面下载过了cuda和pytorch且txt文件cuda和pytorch为linux版本,要把txt文档中对应给注释掉(具体为前三行加##并保存即可)

安装txt文件中所有的库文件

无脑复制

pip install -r requirements.txt

只要中间不报错即为下载成功

 6、pycharm添加解释器

点击文件、设置

​​

找到python解释器,添加新的解释器

​​

找到conda环境、使用现有环境,找到你前面配置的yolov12(环境名称)

​​

还有老版的pycharm,使用应该找Anaconda3\envs\yolov11(环境名称)\python.exe

(用yolov9举例)

​​

​​

点击应用

​​7、数据集制作

这边去看yolov9的数据集制作就可以,方法相同

YOLOv9最详细教程(训练自己数据集、结构介绍、重点代码讲解)(草履虫都能看懂系列)-CSDN博客

8、训练

训练有很多种训练方式,我挑选的是我认为最为简单的一种,即修改default.yaml文件,然后在终端调用

default.yaml文件在yolov12/ultralytics/cfg文件中

​​

需修改(最好为绝对路径,多仔细看看,容易出错)

模型文件model(yolov12x.yaml(模型文件)位置)

数据文件(训练图片)data(data.yaml文件所在位置)

训练轮次epochs(基本为300)

训练所放图片个数batch(2/4/8/16,看自己电脑量力而行)

训练存储地址和名称name(可不改)

使用GPU训练device:0(重点)(如有两个GPU:[0,1])

预训练权重pretrained(yolov12x.pt(权重文件,要于上面对应,就比如你用yolo10x训练你就必须要yolov12x.pt来作为你的预训练权重)位置,无可以不填)

以yolov10为例

​​

点击终端,输入神秘代码:​

yolo cfg=ultralytics/cfg/default.yaml

​​会报错:TypeError: 'workspace=None' is of invalid type str. Valid 'workspace' types are int (i.e. 'workspace=0') or float (i.e. 'workspace=0.5')这个原因是输入workspace的类型不对,不太懂,看workspace参数是用于 TensorRT 的配置项,它表示 TensorRT 在优化和执行网络时可以使用的最大临时工作内存大小(以 GiB 为单位)。我认为没有什么用,我就直接ctrl+/把这行注释了,有懂得可以留言。

然后就没有什么问题了 

<think>好的,用户想要查找关于YOLOv12训练的资料,包括教程、配置方法和常见问题解决。首先,我需要确认YOLOv12是否真实存在,因为目前主流版本是YOLOv5、YOLOv7和YOLOv8,可能用户可能误写了版本号。如果YOLOv12不存在,可能需要提示用户检查版本名称是否正确。 假设用户确实是指YOLOv12,但可能是一个较新或非官方的版本,那么我需要提供一般性的YOLO训练指导,并建议用户参考官方文档或社区资源。根据提供的引用内容,引用[2]提到了模型训练的参数规模和训练步骤,这可能与训练配置相关。引用[3]提到了代码实现和框架结构,可以引导用户查看具体实现。 接下来,我需要整理YOLO训练的一般步骤,包括环境配置、数据集准备、配置文件调整、训练参数设置以及常见问题。例如,环境配置需要PyTorch、CUDA等;数据集需要符合YOLO格式;配置文件可能涉及模型结构和超参数。常见问题可能包括CUDA内存不足、损失不收敛等,解决方案涉及调整批量大小、学习率等。 同时,需要生成相关问题,帮助用户进一步探索,比如性能优化方法、多GPU训练、模型评估指标等。这些相关问题应基于YOLO训练的常见挑战和用户可能的需求。 最后,确保回答符合格式要求,使用正确的中文,数学公式用$...$,独立公式用$$...$$,但在这个问题中可能涉及较少数学内容。引用标记需要自然添加,例如引用[2]关于训练步骤和参数,引用[3]关于代码实现。</think>### YOLOv12训练指南与配置问题解析 目前主流YOLO系列模型(如YOLOv5/YOLOv7/YOLOv8)的训练流程具有相似性。若您提到的YOLOv12是某特定版本,建议先确认其官方文档。以下提供通用训练指南: #### 一、环境配置 1. **基础依赖**: - Python 3.8+ - PyTorch 1.8+(需与CUDA版本匹配) - CUDA 11.1+(NVIDIA GPU训练必备) ```bash pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu113 ``` 2. **专用工具包**: - YOLO官方仓库(如Ultralytics版本) ```bash git clone https://github.com/ultralytics/yolov5 && cd yolov5 pip install -r requirements.txt ``` #### 二、数据集准备 1. **标准格式**: ```text datasets/ train/ images/ labels/ val/ images/ labels/ ``` 标注文件为.txt格式,每行表示一个目标:`class_id x_center y_center width height`(归一化坐标)[^3] 2. **配置文件**: - 创建`data/custom.yaml`: ```yaml train: ../datasets/train/images val: ../datasets/val/images nc: 80 # 类别数 names: ['person', 'car', ...] # 类别名称 ``` #### 三、训练配置 1. **模型选择**: ```bash python train.py --img 640 --batch 16 --epochs 300 --data custom.yaml --weights yolov5s.pt ``` - `--img`:输入图像尺寸 - `--batch`:批次大小(受GPU显存限制) - `--weights`:预训练权重路径[^2] 2. **超参数调整**: ```yaml # hyperparameters.yaml lr0: 0.01 # 初始学习率 lrf: 0.2 # 最终学习率 = lr0 * lrf momentum: 0.937 weight_decay: 0.0005 ``` #### 四、常见问题解决 1. **CUDA内存不足**: - 降低`--batch-size` - 使用更小模型(如yolov5s) - 添加`--workers 0`排除数据加载问题 2. **损失不收敛**: - 检查学习率设置:`python train.py --hyp hyp.scratch-low.yaml` - 验证数据集标注准确性 - 尝试冻结骨干网络训练:`--freeze 10` 3. **多GPU训练**: ```bash python -m torch.distributed.launch --nproc_per_node 2 train.py --device 0,1 ``` #### 五、训练监控 1. **TensorBoard集成**: ```bash tensorboard --logdir runs/train ``` 监控指标包括: - 损失函数曲线 - mAP@0.5指标 - 学习率变化曲线
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值