YOLOv5训练coco128数据集流程

该博客介绍了如何在Anaconda环境下创建虚拟环境并安装PyTorch,然后详细阐述了YOLOv5模型的部署、训练、参数配置、精度验证、推理验证以及模型导出的过程,适合初学者进行深度学习实践。

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

一、安装pytorch

1、创建虚拟环境

         使用Anaconda安装,建议先创建一个虚拟环境。启动Anaconda Prompt,在命令行输入:

         conda create -name torch python==3.7.11

2、安装pytorch

         进入pytorch官网,根据需要选择系统、安装包、语言和计算平台。

         通过conda安装CPU版pytorch:

         conda install pytorch torchvision torchaudio cpuonly -c pytorch

         安装其他版本pytorch:点击Previous versions of PyTorch,找到更早的版本,比如1.8.0。在Anaconda命令行输入:

         conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cpuonly -c pytorch

         如果安装报错,可尝试使用pip进行安装。

         pip install pytorch==1.8.0

3、部署YOLOv5

         YOLOv5开源地址:https://github.com/ultralytics/yolov5

         下载源码以后,使用pycharm打开train.py文件。在pycharm配置conda环境:依次点击File->settings->Project->Python Interpreter->Add Python Interpreter->Conda Environment->Existing environment选择Anaconda3->envs文件夹下对应虚拟环境名称文件夹下的python.exe文件。

4、修改配置参数

         在train.py中找到parse_opt,根据需要修改其中参数,一般只需要对前六个参数进行修改。

weights为训练参数保存名称,cfg设置模型配置文件,这里选yolov5s.yaml,在data中配置训练数据配置文件为coco128.yaml。epoch根据自己想要训练的轮数自行修改,batchsize大小根据电脑内存或显存大小修改。

5、模型训练

         运行train.py文件,使用coco128进行yolov5s训练,首次运行会自动下载coco128数据集,下载完成后自动开始模型训练。由于yolov5s模型和coco128数据集都比较小,使用cpu训练1个epoch也就一两分钟,每轮训练后更新模型验证精度。观察指标:精度'P',召回率'R',mAP@.5和mAP@.5:.95。

 

6、精度验证

         训练完成后,在runs->train->exp->weights文件夹下找到last.pt和best.pt文件,将best.pt文件拷贝至yolov5-master目录下,修改为yolov5s.pt。打开val.py运行,进行模型验证。

7、推理验证

         运行detect.py,进行推理验证。

推理结果:

8、模型导出

         模型验证和推理结果满足性能需求后,运行export.py可以将训练得到的pytorch权重pt文件导出为onnx格式,用于推理部署。导出过程如果出现报错,可尝试修改parse_opt中的配置参数'opset',将default修改为12或其他onnx版本。

### YOLOv5 训练 COCO 数据集 Batch Size 设置 当使用 YOLOv5 模型训练 COCO 数据集并将 `batch size` 设定为 128 时,可能会遇到一些挑战。为了确保顺利运行,需考虑硬件资源分配以及配置文件调整。 #### 配置文件设置 在 `data/coco128.yaml` 中指定数据集路径,并确认其指向正确的本地存储位置[^2]: ```yaml train: images/train2017/ val: images/val2017/ ``` 对于模型架构的选择,默认采用较小规模的 `yolov5s.yaml` 文件作为基础配置[^1]。此配置适用于大多数实验场景,但在处理较大批次尺寸时可能需要额外优化。 #### 调整批处理大小 (Batch Size) 将 `batch_size` 参数设为 128 可能会超出 GPU 显存容量,特别是如果使用的不是高端设备。建议先尝试较低数值(如 32 或 64),逐步增加直到达到最佳平衡点。可以通过命令行参数传递给训练脚本: ```bash --batch-size=128 ``` 若发现显存不足错误,则应降低批量大小或者升级计算平台。此外,还可以通过分布式训练方式来分摊负载,利用多张GPU协同工作以支持更大的批次尺寸。 #### 解决潜在问题的方法 - **检查硬件规格**: 确认所用机器具备足够的显存空间支持设定的 `batch size`. - **启用自动混合精度(Automatic Mixed Precision)** : 使用 PyTorch 的 AMP 功能可以有效减少所需显存量,提高效率. - **梯度累积(Gradient Accumulation)** : 当单次前向传播无法容纳整个 mini-batch 时,可采取多次迭代累加的方式完成一次完整的权重更新过程. - **分布式训练(Distributed Training)**: 利用多个 GPU 并行化运算,分散大批次带来的压力. ```python import torch.distributed as dist from torch.nn.parallel import DistributedDataParallel as DDP dist.init_process_group('nccl') model = model.to(rank) ddp_model = DDP(model, device_ids=[rank]) ``` #### 测试与验证 完成上述配置更改后,启动训练流程并密切监控系统状态指标。注意观察是否存在异常终止现象或其他不稳定因素影响最终效果。必要情况下适当调整超参直至获得满意的结果。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

TheMatrixs

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

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

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

打赏作者

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

抵扣说明:

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

余额充值