mobilenet压缩

在可视化训练好的mobilenet 的weights时发现有挺多的卷积核的值很小,几乎为0,这些卷积核对整个model没有贡献,所以我们通过减枝压缩技术去去除这些卷积核。以绝对值为0.0001作为阀值,减枝后(没有finetune)直接valid发现精度跟mobilenet本身的精度一模一样,说明这些滤波器对mobilenet的模型一点点的影响都没有.

mobilenet压缩_第1张图片

上图是mobilenet的valid 精度

mobilenet压缩_第2张图片

上图是以阀值0.0001剪枝后的精度,发现一模一样。

以0.0001阀值剪枝后的结构图如下所示:

mobilenet压缩_第3张图片


接着我同样的方法以0.08的阀值剪枝,没有finetune,精度损失了3%,模型大小减小为13.9M。

mobilenet压缩_第4张图片

结构图

mobilenet压缩_第5张图片

如果finetune的话,精度应该会上升的,这里我没作实验了,我后面直接剪枝了一个0.1阀值的,模型减少到10M多点,目前在finetune中,如果精度恢复的还不错,我就上传到github上。

mobilenet跟SSD结合精度还可以,所以这些压缩后的模型对于MobilenetSSD来说应该会提升点速度,特别我后面finetune的那个10M的模型,精度也不怎么损失的话,速度上来说应该会提升一小倍。但是mobilenet本身跟yolo的结合精度效果不大好,所以我后面去研究新的model了。

压缩后的cfg和weights文件链接地址:https://github.com/zunzhumu/darknet-mobilenet

更新:压缩后10M大小的mobilenet已经finetune到top-1:0.697,top-5:0.897,目前是top1掉了1.5%,top5掉了0.6%。

你可能感兴趣的:(Compress,Mobilenet)