This repository aim to try out different pruning-approaches on lightweight Backbones.
python main.py --arch MobileNetV2 (for l1norm pruner )
python main.py --sr --arch MobileNetV2 (for slimming pruner)
python main.py --arch USMobileNetV2 (for Autoslim pruner )
python prune.py --arch MobileNetV2 --pruner l1normpruner --pruneratio 0.6
python prune.py --arch MobileNetV2 --pruner SlimmingPruner --sr --pruneratio 0.6
python prune.py --arch USMobileNetV2 --pruner AutoSlimPruner
BackBone | Pruner | Prune Ratio | Original/Pruned/Finetuned Accuracy | FLOPs(M) | Params(M) |
---|---|---|---|---|---|
MobileV2 | L1-Norm | 0.6 | 0.937/0.100/0.844 | 313.5->225.5 | 2.24->1.15 |
MobileV2 | Slimming | Optimal Thres | 0.922/0.485/0.915 | 313.5->127.5 | 2.24->0.98 |
MobileV2 | AutoSlim | <200 flops | 0.922/0.795/0.919 | 313.5->137.5 | 2.24->1.037 |
VGG | Slimming | Optimal Thres | 0.926/0.183/0.920 | 399.3->147.8 | 20.03->1.49 |
Resnet50 | Slimming | Optimal Thres | 0.926/0.665/0.921 | 3448->975 | 23.52->6.00 |
ShuffleNetV2 | Slimming | Optimal Thres | 0.897/0.894/0.895 | 348.6->188.5 | 2.22->1.24 |
NOTE: