二阶段目标检测网络模型压缩网络剪枝
由于网络上对于二阶段目标检测网络的网络剪枝资料较少,所以对剪枝过程进行了复现,本文以faster rcnn为例。
使用的方法是network slimming,通道剪枝,通过对bn层gamma的分布分析,剪枝接近0的整个神经元通道。
论文:Learning Efficient Convolutional Networks Through Network Slimming
链接: https://arxiv.org/abs/1708.06519.
剪枝原理其他的博客很多,在这就不做过多赘述。
对二阶段的剪枝核心在于backbone部分的网络剪枝,特征图的参数量过大导致整个模型过于臃肿,有较多冗余参数,本文选择了较深的resNet50作为例子。
模型压缩的步骤:
稀疏训练---->剪枝----->创建剪枝的模型------>用小模型微调(可加入蒸馏策略)
稀疏训练是实验中需要做比较多尝试的步骤,也是重要的一步,其核心是找到合适的稀疏因子,使得gamma分布更为稀疏化且精度下降较少。哦一个
剪枝过程:
首先载入原baseline模型并进行inference,得到一个可以作为参考的初始化map。
为了获得避免剪掉所有channel的最高阈值,即求每个BN层的gamma的最大值的最小值
剪枝
weiwan