最后,很多人在简单的检测场景中(例如一个类别的检测)倾向使用YOLOV3-Tiny这个小模型,我们可以通过剪枝使得这个模型更小,但上次的项目是不支持的。基于上面的需求,coldlarry开发了一个完整的YOLOV3剪枝库,可以满足刚刚提高的所有需求,代码地址如下:https://github.com/coldlarry/YOLOv3-complete-pruning。 2. 项目整体...
本项目以ultralytics/yolov3(https://github.com/ultralytics/yolov3)为YOLOv3的Pytorch实现,并在YOLOv3-model-pruning(https://github.com/Lam1360/YOLOv3-model-pruning)剪枝的基础上,推出了4个YOLO-v3剪枝版本。(在此致谢两位) 项目特点 1.采用的YOLO-v3实现较为准确,mAP相对...
--prune 0为正常剪枝和规整剪枝的稀疏化 --prune 1为极限剪枝的稀疏化 --prune 2为Tiny剪枝的稀疏化 代码语言:javascript 复制 python3 train.py--data data/oxfordhand.data--batch-size32--accumulate1--weights weights/yolov3.weights--cfg cfg/yolov3-hand.cfg-sr--s0.001--prune0 3.模型剪枝 正常剪...
最后,很多人在简单的检测场景中(例如一个类别的检测)倾向使用YOLOV3-Tiny这个小模型,我们可以通过剪枝使得这个模型更小,但上次的项目是不支持的。基于上面的需求,coldlarry开发了一个完整的YOLOV3剪枝库,可以满足刚刚提高的所有需求,代码地址如下:https://github.com/coldlarry/YOLOv3-...
作者用 YOLOv3 做人手检测(在 oxford hand 数据集上训练的),并进行了模型剪枝,剪枝后YOLOv3 模型的参数量减少 80% ,FLOPs 降低 70%,推断的速度提高了100%,而 mAP 基本保持不变! 可谓是相当成功了! 剪枝前后的对比 1. 部分卷积层的通道数大幅度减少 ...
首先是引言部分,概述了文章的目标和结构;接下来是YOLOv3Tiny量化推理部分,介绍了该模型以及量化推理相关概念和应用场景;然后是YOLOv3Tiny模型量化推理过程部分,详细描述了模型压缩与剪枝技术、参数量化与精度损失分析以及硬件加速与优化技术展示;随后是实验结果与讨论部分,包括数据集选择和评估标准说明、YOLOv3Tiny量化推理...
2.提供对YOLOv3及Tiny的多种剪枝版本,以适应不同的需求。 3.剪枝后保存为.weights格式,可在任何框架下继续训练、推理,或以图像视频展示。 4.目前支持情况 功能单卡多卡 正常训练√√ 稀疏化√√ 正常剪枝√√ 规整剪枝√√ 极限剪枝(shortcut)√√
接下来就是Fine-tuning(重训SlimYOLOv3)和Iteratively pruning(迭代修剪直到满足一定的条件,比如模型剪枝率达到一定要求,首选上图所示的增量修剪策略,以防止过度修剪)。 模型:YOLOv3、YOLOv3-tiny(YOLOv3的tiny版本)、YOLOv3-SPP1(仅在第一个检测头前集成SPP模块)、YOLOv3-SPP3、SlimYOLOv3-SPP3-50(n=50, k=...
可见模型剪枝可大幅改善模型在无人机上的部署,有一定的精度损失,但远比YOLOv3-tiny要好。 剪枝过程 什么是深度模型的剪枝?就像论文名字中的更窄(Narrower),它是要减少模型通道数。 去除每个卷积层中不重要的特征通道。所以需要合理地评估特征通道的重要性。
接下来就是Fine-tuning(重训SlimYOLOv3)和Iteratively pruning(迭代修剪直到满足一定的条件,比如模型剪枝率达到一定要求,首选上图所示的增量修剪策略,以防止过度修剪)。 模型:YOLOv3、YOLOv3-tiny(YOLOv3的tiny版本)、YOLOv3-SPP1(仅在第一个检测头前集成SPP模块)、YOLOv3-SPP3、SlimYOLOv3-SPP3-50(n=50, k=...