本文主要针对yolo_v3进行模型剪枝量化,主要使用voc格式的数据集训练自己的数据,代码主要在:
https://github.com/ReOneK/Yolo_v3_prune_vocdata
具体步骤如下:
一、数据处理
- 将标注数据放入data/Annotations,图片数据放入data/images
- 运行modify.py文件,避免因图片问题导致标注文件中图片的长宽为
0的问题
-将voc_label.py中classes修改为自己的训练类别,并分别运行maketxt.py、voc_label.py
二、模型剪枝
1.正常训练
- 对应自己的训练数据修改data/voc.data以及voc.name
- 同时修改yolov3.cfg中yolo层对应的filters以及classes
filters=3*(classes+5)
python3 train.py --data data/voc.data --batch-size 16 --accumulate 1 --weights weights/yolov3.weights --cfg cfg/yolov3.cfg
2.稀疏化训练
- `-sr`开启稀疏化,`--s`指定稀疏因子大小,`--prune`指定稀疏类型。
其中:
--prune 0为正常剪枝和规整剪枝的稀疏化
--prune 1为极限剪枝的稀疏化
--prune 2为Tiny剪枝的稀疏化

本文介绍了如何使用VOC格式数据集对YOLO_v3模型进行剪枝。首先,详细阐述了数据处理步骤,包括标注数据的放置和处理,以避免标注文件中图片尺寸为0的问题。接着,介绍了模型剪枝过程,包括正常训练时的数据配置和yolov3.cfg文件的修改,以及稀疏化训练的选项,如不同类型的稀疏剪枝策略。最后,提供了原作者的GitHub链接供参考。
最低0.47元/天 解锁文章
6311

被折叠的 条评论
为什么被折叠?



