237014845 / MobileNet-v2-pruning

Try out different pruning-approaches on lightweight Backbones.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MobileV2 Pruning

This repository aim to try out different pruning-approaches on lightweight Backbones.

Usage

  1. Training
    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 )
    
  2. Pruning (prune+finetune)
    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
    

Results on Cifar10

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 0.6 0.922/0.485/0.915 313.5->214.5 2.24->0.98
MobileV2 AutoSlim <200 flops 0.920/0.561/0.916 313.5->199.67 2.24->0.81

TODO

Pruning Methodsd

Backbones

  • MobileV2
  • ShuffleNet
    ....

Reference

rethinking-network-pruning

Pruned-MobileNet_v2

About

Try out different pruning-approaches on lightweight Backbones.


Languages

Language:Python 100.0%