论文:Learning Efficient Convolutional Networks Through Network Slimming
链接:https://arxiv.org/abs/1708.06519
原代码(Torch实现):https://github.com/liuzhuang13/slimming
第三方代码(PyTorch实现):https://github.com/foolwood/pytorch-slimming
这篇是ICCV2017的文章,通过剪枝来做模型压缩和加速。我们知道在剪枝系列算法中,主要的不同点在于如何评价卷积核或者feature map的重要性,一般都是通过额外增加一些对原网络层的计算得到卷积核或feature map的重要性信息,而这篇文章的剪枝比较有特色,因为其通过网络原有的Batch Normalization层的γ参数进行feature map重要性评估(由BN层γ参数的含义可知feature map的每个channel对应一个γ值,所以这个γ值相当于该channel的重要性),然后将重要性低于某个阈值的feature map剪掉,剪掉feature map相当于生成这些feature map的对应卷积核也被剪掉,这就完成了剪枝的过程,如Figure1所示。factors那一列就是BN层的γ参数,其中比较小的值对应的feature map就会被剪掉(橙色)。