Pruning Filters for Efficient ConvNets
已复现:https://github.com/onion-rain/MCTS:
python filter_pruner_exp.py --arch vgg16_bn_cifar --gpu 5 --resume checkpoints/baseline/cifar10_vgg16_bn_cifar_best.pth.tar --prune-percent 0.3 --lp-norm 1
- 剪枝权重绝对值和最小的卷积核
- 通过将所有层的卷积核权重绝对值和进行排序绘制出图a
- 剪枝掉一定比例下组小的卷积核后观察剩余网络的精度b
- 发现有的层敏感有的层不敏感,于是就删除不敏感的,保留敏感的
- 减掉上层的某些卷积核带来的下层特征图通道数的改变,在计算下层卷积核权重绝对值和的计算中要考虑进去,即greedy pruning而不是independent pruning
- 然后对于残差网络,第二层卷积的剪枝操作要根据shortcut上的剪枝操作来决定
- 逐层卷积,剪完一层retrain一下,而不是剪完所有层一起retrain