YoloV4训练自己的数据集(六)之Yolo -Tiny

前文已经把YoloV4的训练以及测试介绍结束了。本文主要介绍YoloV4-Tiny网络的训练与使用。请大家一定要看完前面几个博客。

1.修改配置文件

YoloV4-tiny是简化版本的YoloV4,主要是为了满足计算能力紧张的开发者使用和学习。YoloV4-tiny在准确度上会有相当的下降,但是在运算时间上,也会有相当大的提升。下面我回简要介绍使用YoloV4-Tiny进行训练以及测试。关于数据集的建立以及网络的编译等过程均已在之前的博客中做过介绍,此处不再赘述。本文直接讲如何修改配置文件。

1.1修改voc.names

在darknet目录结构下找到data文件夹,进入文件夹找到voc.names文件,复制并且重命名为tiny.names,根据自己的检测目标,修改类别名字,我要检测火源,因此我的文件内容如下:
在这里插入图片描述

1.2修改voc.data

找到cfg文件中的voc.data文件,复制并且重命名为tiny.data文件。打开文件修改为如下格式:

classes= 1                 //自己要检测的类别数量,根据自己的情况而定
train = /home/h1/darknet_tiny/2007_train.txt//划分出来的训练集图片名集合,位置根据自己的实际情况进行修改
test = /home/h1/darknet_tiny/2007_test.txt//划分出来的测试集图片名集合,位置根据自己的实际情况进行修改
names = data/tiny.names             //分类物体的名字
backup = backup                    //存放训练权重的文件夹

1.3修改yolov4-tiny-custom.cfg文件

进入cfg文件夹并找到yolov4-tiny-custom.cfg文件,修改其中的第6行以及第7行的参数为:

batch=64
subdivisions=8

之后修改第20行的迭代次数以及第22行修改学习率的迭代次数:

max_batches = 50000
steps=40000,45000

之后修改第220、269行的classes:

classes = 1

根据classes = 1修改第212、263行的filters的数量,其中filters=(classes + 5) * 3,因此我的filters修改为18:

filters = 18

2.训练

直接调用命令:

./darknet detector train cfg/tiny.data cfg/yolov4-tiny.cfg yolov4-tiny.conv.29

其中yolov4-tiny.conv.29是预训练权重文件,其均包含在前文的权重文件中。

3.测试

复制yolov4-tiny-custom.cfg文件并且重命名为yolov4-tiny-test.cfg,修改其中的参数:

batch=1
subdivisions=1

之后调用命令,测试图片:

./darknet detector test cfg/tiny.data cfg/yolov4-tiny_.cfg backup/yolov4-tiny_my_final.weights testfiles/2

测试结果如下:
在这里插入图片描述
同一张图片,yolov4的测试结果如下:
在这里插入图片描述
可以看到,yolov4确实精度比较高,但是测试时间比较长。具体如何让选择网络,看自己的实际情况吧。

  • 2
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要使用yolov7-tiny训练自己的数据集你需要按照以下步骤进行操作: 1. 首先,确保你已经安装了必要的环境。你可以使用conda创建一个新的环境,并安装Python 3.8版本。然后激活这个环境。 2. 下载yolov7-tiny的代码库。你可以从GitHub上的https://github.com/WongKinYiu/yolov7仓库中克隆代码到本地。 3. 进入yolov7代码库的目录,并使用pip安装所需的依赖项。你可以运行以下命令来安装依赖项: ``` pip install -r requirements.txt ``` 4. 准备你的数据集。将你的训练图像和相应的标签文件放在一个文件夹中。确保标签文件的格式符合YOLO的要求,每个标签文件应该与对应的图像文件具有相同的名称,但扩展名为txt。 5. 修改配置文件。在cfg/training文件夹中选择适合的模型配置文件,对于yolov7-tiny,你可以选择yolov7-tiny-silu.yaml。打开该文件并进行必要的修改,例如设置类别数量和路径等。 6. 开始训练。使用以下命令来启动训练过程: ``` python train.py --weights yolov7-tiny.pt --data data/your_dataset.yaml --epochs 300 --batch-size 8 --cfg cfg/training/yolov7-tiny-silu.yaml --workers 0 --device 0 --img-size 640 640 ``` 其中,--weights参数指定了预训练的权重文件,--data参数指定了你的数据集的配置文件,--epochs参数指定了训练的轮数,--batch-size参数指定了批量大小,--cfg参数指定了模型的配置文件,--workers参数指定了用于数据加载的工作线程数,--device参数指定了使用的GPU设备,--img-size参数指定了输入图像的尺寸。 通过按照以上步骤进行操作,你就可以使用yolov7-tiny训练自己的数据集了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值