PyTorch implementation of "Pruning Filters For Efficient ConvNets"
Unofficial PyTorch implementation of pruning VGG on CIFAR-10 Data set
Reference: Pruning Filters For Efficient ConvNets, ICLR2017
--train-flag
: Train VGG on CIFAR Data set--save-path
: Path to save results, ex) trained_models/--load-path
: Path to load checkpoint, add 'checkpoint.pht' with save_path
, ex) trained_models/checkpoint.pth--resume-flag
: Resume the training from checkpoint loaded with load-path
--prune-flag
: Prune VGG--prune-layers
: List of target convolution layers for pruning, ex) conv1 conv2--prune-channels
: List of number of channels for pruning the prune-layers
, ex) 4 14--independent-prune-flag
: Prune multiple layers by independent strategy--retrain-flag
: Retrain the pruned nework--retrain-epoch
: Number of epoch for retraining pruned network--retrain-lr
: Number of epoch for retraining pruned networkpython main.py --train-flag --data-set CIFAR10 --vgg vgg16_bn --save-path ./trained_models/
python main.py --prune-flag --load-path ./trained_models/check_point.pth --save-path ./trained_models/pruning_reuslts/ --prune-layers conv1 conv2 --prune-channels 1 1
python main.py --prune-flag --load-path ./trained_models/check_point.pth --save-path ./trained_models/pruning_reuslts/ --prune-layers conv1 conv2 --prune-channels 1 1 --independent-prune-flag
python main.py --prune-flag --load-path ./trained_models/check_point.pth --save-path ./trained_models/pruning_reuslts/ --prune-layers conv1 --prune-channels 1 --retrain-flag --retrain-epoch 20 --retrain-lr 0.001