《模型轻量化-剪枝蒸馏量化系列》YOLOv5无损剪枝(附源码)
Posted cv君
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《模型轻量化-剪枝蒸馏量化系列》YOLOv5无损剪枝(附源码)相关的知识,希望对你有一定的参考价值。
今天文章代码不涉密,数据不涉密,使用的是网上开源代码,做了修改,主要介绍如何实现的,另外,数据使用开放数据VisDrone的小部分数据来测试~
今天的文章很短,主要附带一个视频讲解运行过程,我修改的地方就不必说了,代码在文末,可以一键运行。
环境:需要安装:protobuf==3.20.1 其他库见官方yolo所需的环境;
运行顺序:第一步 原始训练,得到一个最优mAP等评价指标,记录在小本本上。
第二步:通过调整BN稀疏值(main 参数中的sr),运行train_sparity.py稀疏训练得到一个稍微小一点点的模型(和原始的精度比较,看看哪个稀疏值最好~)
第三步:将上一步的训练好的last.pt 放到prune.py 中进行剪枝,控制剪枝率;剪枝好的模型,在根目录下:pruned_model.pt 是fp32的,你除以2会得到最后的模型大小
第四步:Finetune,用刚刚的pruned模型重新训练,得到最优模型,就是最小且最快,且最好的啦~(和原始和稀疏训练的比较一下哦)
上面是俩个BN的可视化,我们调整稀疏训练里的st值,运行训练&#
以上是关于《模型轻量化-剪枝蒸馏量化系列》YOLOv5无损剪枝(附源码)的主要内容,如果未能解决你的问题,请参考以下文章