linux下在pascal voc数据集/自己数据集上训练yolov4!亲测有效!详细!

本文详细介绍了如何使用YoloV4进行目标检测的训练过程,包括数据准备、下载预训练权重、配置文件修改及训练和测试指令。适合初学者快速上手。

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

yolov4的配置,参考:https://blog.youkuaiyun.com/ly_twt/article/details/105748280#comments_12014895

这里以pascal voc数据集(2007+2012联合训练)为例,该方法适用于其他数据集(包括自己建立的数据集)

一、

数据准备参考以下博客的(1)~(3):https://blog.youkuaiyun.com/ly_twt/article/details/105577683

二、下载backbone权重文件yolov4.conv.137

https://drive.google.com/file/d/1JKF-bdIklxOOVy-2Cr5qdvjgGpmGfcbp/view(也可以私聊找我拿)

将下载的yolov4.conv.137放在darknet目录中即可。

三、修改配置文件

(1)cfg/voc.data

将下图:

改成:

(2)将cfg/yolov4-custom.cfg进行复制,并将复制后的文件命名为yolo-obj.cfg。

修改cfg/yolo-obj.cfg文件:

①如果在训练过程中出现out of memory,将subdivisions修改为32或者64。

③在文件中,使用Ctrl+F搜索yolo,一共出现三个地方。修改yolo下面的classes,以及yolo上面的filters:

四、开始训练

./darknet detector train cfg/voc.data cfg/yolo-obj.cfg yolov4.conv.137

如果想要保存训练日志,则使用:

# xxxx为路径和log文件名字,自己设置就行
./darknet detector train cfg/voc.data cfg/yolo-obj.cfg yolov4.conv.137 2>1 | tee /xxxx/xxxxx.log

训练结束后,训练的模型会放在darknet/backup中。

五、测试

./darknet detector test cfg/voc.data cfg/yolo-obj.cfg yolo-obj_xxxx.weights 

 

>>>>>>>>>>>>>有什么其他的问题私聊我即可。

>>>>>>>>>>>>>或者有什么其他大家想知道的,告诉我,我来更。

******************************************************

后续还会补充更详细的细节和一些拓展(如通过不同的设置进行训练测试等)

******************************************************

 

### 安装依赖 为了能够在Linux环境中顺利运行YOLOv8,需要先安装必要的Python库和其他依赖项。通常情况下,推荐在一个虚拟环境中操作以避免版本冲突。 ```bash python3 -m venv yolov8-env source yolov8-env/bin/activate pip install --upgrade pip pip install ultralytics ``` 上述命令创建了一个名为`yolov8-env`的虚拟环境并激活它,接着更新了pip工具到最新版,并安装了ultralytics包,这是YOLOv8官方维护的一个重要软件包[^1]。 ### 准备数据集格式 对于自定义数据集而言,确保其遵循特定结构非常重要。根据需求,可以采用多种方式来准备这些资料: - **从Roboflow下载**:如果打算利用现成的数据源,则可以直接访问[Roboflow](https://roboflow.com/)平台挑选合适项目导出为适合YOLO使用的格式。 - **手动转换至VOC XML格式**:当手头已有图像及其对应的标签信息时,可以通过编写脚本来生成符合[PASCAL VOC标准](http://host.robots.ox.ac.uk/pascal/VOC/)的XML文件,以便于后续处理和训练工作[^2]。 无论采取哪种方法获得数据集,在将其用于实际训练前都需要按照一定规则整理目录结构,比如建立images与labels两个子文件夹分别存放图片及相应的标注文件;同时还需要编辑配置文件(如`.yaml`),指明各类别的名称以及其他必要参数设置。 ### 启动训练过程 完成前期准备工作之后,便可通过简单的CLI指令启动模型训练流程。具体来说就是执行下面这条命令: ```bash yolo task=detect mode=train model=yolov8n.yaml data=mydata.yaml epochs=100 batch=16 ``` 这里假设已经准备好了一个叫做`mydata.yaml`的数据描述文档,其中包含了关于所用数据集路径、类别数量等基本信息;而`model=yolov8n.yaml`则指向预设好的网络架构模板之一——当然也可以自行设计更复杂的版本[^3]。
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值