├── .github └── workflows │ ├── python-publish.yml │ ├── test_torch_181.yml │ ├── test_torch_1_12_1.yml │ └── test_torch_200.yml ├── .gitignore ├── LICENSE ├── README.md ├── README_CN.md ├── assets ├── concat.png ├── conv-conv.png ├── conv-fc.png ├── densenet_dep.png ├── dep.png ├── dep1.png ├── dep2.png ├── dep3.png ├── group_sparsity.png ├── intro.jpg ├── intro.png ├── residual.png └── split.png ├── benchmarks ├── engine │ ├── __init__.py │ ├── models │ │ ├── __init__.py │ │ ├── cifar │ │ │ ├── __init__.py │ │ │ ├── densenet.py │ │ │ ├── googlenet.py │ │ │ ├── inceptionv3.py │ │ │ ├── inceptionv4.py │ │ │ ├── mobilenetv2.py │ │ │ ├── nasnet.py │ │ │ ├── preactresnet.py │ │ │ ├── resnet.py │ │ │ ├── resnet_tiny.py │ │ │ ├── resnext.py │ │ │ ├── senet.py │ │ │ ├── swin.py │ │ │ ├── vgg.py │ │ │ ├── vit.py │ │ │ └── xception.py │ │ ├── graph │ │ │ ├── __init__.py │ │ │ └── dgcnn.py │ │ └── imagenet │ │ │ ├── __init__.py │ │ │ └── vision_transformer.py │ └── utils │ │ ├── __init__.py │ │ ├── datasets │ │ ├── __init__.py │ │ └── modelnet40.py │ │ ├── evaluator.py │ │ ├── imagenet_utils │ │ ├── __init__.py │ │ ├── presets.py │ │ ├── sampler.py │ │ ├── transforms.py │ │ └── utils.py │ │ ├── metrics.py │ │ └── utils.py ├── main.py ├── main_imagenet.py ├── prunability │ ├── coco_image.jpg │ ├── readme.md │ ├── requirements.txt │ ├── torchvision_pruning.py │ ├── yolov7_detect_pruned.py │ ├── yolov7_train_pruned.py │ └── yolov8_pruning.py ├── readme.md ├── registry.py ├── requirements.txt ├── run │ ├── cifar10 │ │ └── prune │ │ │ ├── cifar10-global-group_sl-resnet56 │ │ │ └── cifar10-global-group_sl-resnet56.txt │ │ │ ├── cifar10-global-group_sl-resnet56_2.55x │ │ │ └── cifar10-global-group_sl-resnet56.txt │ │ │ ├── cifar10-global-l1-resnet56 │ │ │ └── cifar10-global-l1-resnet56.txt │ │ │ └── cifar10-global-slim-resnet56 │ │ │ └── cifar10-global-slim-resnet56.txt │ └── cifar100 │ │ └── prune │ │ └── cifar100-global-group_sl-vgg19 │ │ └── cifar100-global-group_sl-vgg19.txt └── scripts │ ├── pretrain │ └── cifar_pretrain.sh │ └── prune │ ├── ablation │ ├── global_group_norm.sh │ ├── global_group_sl.sh │ ├── global_group_sl_p2.sh │ ├── global_l1.sh │ ├── global_l1_group_conv.sh │ ├── global_lamp.sh │ ├── global_rand.sh │ ├── global_slim.sh │ ├── local_group_norm.sh │ ├── local_l1.sh │ ├── local_l1_group_conv.sh │ └── local_rand.sh │ ├── cifar │ ├── bn_pruner.sh │ ├── group_pruner.sh │ └── l1_norm_pruner.sh │ ├── imagenet │ ├── densenet_gsl.sh │ ├── mobilenetv2_group_norm.sh │ ├── mobilenetv2_group_sl.sh │ ├── next50_group_norm.sh │ ├── next50_group_sl.sh │ ├── regnet_group_norm.sh │ ├── regnet_group_sl.sh │ ├── resnet50_group_norm.sh │ ├── resnet50_group_sl.sh │ ├── vgg_group_norm copy.sh │ └── vit_group_norm.sh │ ├── modelnet40 │ └── global_group_norm.sh │ └── ppi │ └── global_group_norm.sh ├── practical_structural_pruning.md ├── requirements.txt ├── setup.py ├── tests ├── graph_drawing.py ├── test_backward.py ├── test_concat.py ├── test_concat_split.py ├── test_customized_layer.py ├── test_dependency_graph.py ├── test_dependency_lenet.py ├── test_fully_connected_layers.py ├── test_importance.py ├── test_interactive_pruner.py ├── test_load.py ├── test_multiple_inputs_and_outputs.py ├── test_pruner.py ├── test_pruning_fn.py ├── test_reshape.py ├── test_score_normalization.py ├── test_split.py └── test_unwrapped_parameters.py ├── torch_pruning ├── __init__.py ├── _helpers.py ├── dependency.py ├── importance.py ├── ops.py ├── pruner │ ├── __init__.py │ ├── algorithms │ │ ├── __init__.py │ │ ├── batchnorm_scale_pruner.py │ │ ├── group_norm_pruner.py │ │ ├── magnitude_based_pruner.py │ │ ├── metapruner.py │ │ └── scheduler.py │ └── function.py └── utils │ ├── __init__.py │ ├── op_counter.py │ └── utils.py └── tutorials ├── 0 - QuickStart.ipynb ├── 1 - Customize Your Own Pruners.ipynb └── 2 - Exploring Dependency Groups.ipynb /.github/workflows/python-publish.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/.github/workflows/python-publish.yml -------------------------------------------------------------------------------- /.github/workflows/test_torch_181.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/.github/workflows/test_torch_181.yml -------------------------------------------------------------------------------- /.github/workflows/test_torch_1_12_1.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/.github/workflows/test_torch_1_12_1.yml -------------------------------------------------------------------------------- /.github/workflows/test_torch_200.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/.github/workflows/test_torch_200.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/README.md -------------------------------------------------------------------------------- /README_CN.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/README_CN.md -------------------------------------------------------------------------------- /assets/concat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/assets/concat.png -------------------------------------------------------------------------------- /assets/conv-conv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/assets/conv-conv.png -------------------------------------------------------------------------------- /assets/conv-fc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/assets/conv-fc.png -------------------------------------------------------------------------------- /assets/densenet_dep.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/assets/densenet_dep.png -------------------------------------------------------------------------------- /assets/dep.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/assets/dep.png -------------------------------------------------------------------------------- /assets/dep1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/assets/dep1.png -------------------------------------------------------------------------------- /assets/dep2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/assets/dep2.png -------------------------------------------------------------------------------- /assets/dep3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/assets/dep3.png -------------------------------------------------------------------------------- /assets/group_sparsity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/assets/group_sparsity.png -------------------------------------------------------------------------------- /assets/intro.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/assets/intro.jpg -------------------------------------------------------------------------------- /assets/intro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/assets/intro.png -------------------------------------------------------------------------------- /assets/residual.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/assets/residual.png -------------------------------------------------------------------------------- /assets/split.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/assets/split.png -------------------------------------------------------------------------------- /benchmarks/engine/__init__.py: -------------------------------------------------------------------------------- 1 | from . import models, utils 2 | -------------------------------------------------------------------------------- /benchmarks/engine/models/__init__.py: -------------------------------------------------------------------------------- 1 | from . import cifar, imagenet, graph -------------------------------------------------------------------------------- /benchmarks/engine/models/cifar/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/engine/models/cifar/__init__.py -------------------------------------------------------------------------------- /benchmarks/engine/models/cifar/densenet.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/engine/models/cifar/densenet.py -------------------------------------------------------------------------------- /benchmarks/engine/models/cifar/googlenet.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/engine/models/cifar/googlenet.py -------------------------------------------------------------------------------- /benchmarks/engine/models/cifar/inceptionv3.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/engine/models/cifar/inceptionv3.py -------------------------------------------------------------------------------- /benchmarks/engine/models/cifar/inceptionv4.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/engine/models/cifar/inceptionv4.py -------------------------------------------------------------------------------- /benchmarks/engine/models/cifar/mobilenetv2.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/engine/models/cifar/mobilenetv2.py -------------------------------------------------------------------------------- /benchmarks/engine/models/cifar/nasnet.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/engine/models/cifar/nasnet.py -------------------------------------------------------------------------------- /benchmarks/engine/models/cifar/preactresnet.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/engine/models/cifar/preactresnet.py -------------------------------------------------------------------------------- /benchmarks/engine/models/cifar/resnet.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/engine/models/cifar/resnet.py -------------------------------------------------------------------------------- /benchmarks/engine/models/cifar/resnet_tiny.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/engine/models/cifar/resnet_tiny.py -------------------------------------------------------------------------------- /benchmarks/engine/models/cifar/resnext.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/engine/models/cifar/resnext.py -------------------------------------------------------------------------------- /benchmarks/engine/models/cifar/senet.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/engine/models/cifar/senet.py -------------------------------------------------------------------------------- /benchmarks/engine/models/cifar/swin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/engine/models/cifar/swin.py -------------------------------------------------------------------------------- /benchmarks/engine/models/cifar/vgg.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/engine/models/cifar/vgg.py -------------------------------------------------------------------------------- /benchmarks/engine/models/cifar/vit.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/engine/models/cifar/vit.py -------------------------------------------------------------------------------- /benchmarks/engine/models/cifar/xception.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/engine/models/cifar/xception.py -------------------------------------------------------------------------------- /benchmarks/engine/models/graph/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/engine/models/graph/__init__.py -------------------------------------------------------------------------------- /benchmarks/engine/models/graph/dgcnn.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/engine/models/graph/dgcnn.py -------------------------------------------------------------------------------- /benchmarks/engine/models/imagenet/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/engine/models/imagenet/__init__.py -------------------------------------------------------------------------------- /benchmarks/engine/models/imagenet/vision_transformer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/engine/models/imagenet/vision_transformer.py -------------------------------------------------------------------------------- /benchmarks/engine/utils/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/engine/utils/__init__.py -------------------------------------------------------------------------------- /benchmarks/engine/utils/datasets/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/engine/utils/datasets/__init__.py -------------------------------------------------------------------------------- /benchmarks/engine/utils/datasets/modelnet40.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/engine/utils/datasets/modelnet40.py -------------------------------------------------------------------------------- /benchmarks/engine/utils/evaluator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/engine/utils/evaluator.py -------------------------------------------------------------------------------- /benchmarks/engine/utils/imagenet_utils/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/engine/utils/imagenet_utils/__init__.py -------------------------------------------------------------------------------- /benchmarks/engine/utils/imagenet_utils/presets.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/engine/utils/imagenet_utils/presets.py -------------------------------------------------------------------------------- /benchmarks/engine/utils/imagenet_utils/sampler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/engine/utils/imagenet_utils/sampler.py -------------------------------------------------------------------------------- /benchmarks/engine/utils/imagenet_utils/transforms.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/engine/utils/imagenet_utils/transforms.py -------------------------------------------------------------------------------- /benchmarks/engine/utils/imagenet_utils/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/engine/utils/imagenet_utils/utils.py -------------------------------------------------------------------------------- /benchmarks/engine/utils/metrics.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/engine/utils/metrics.py -------------------------------------------------------------------------------- /benchmarks/engine/utils/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/engine/utils/utils.py -------------------------------------------------------------------------------- /benchmarks/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/main.py -------------------------------------------------------------------------------- /benchmarks/main_imagenet.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/main_imagenet.py -------------------------------------------------------------------------------- /benchmarks/prunability/coco_image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/prunability/coco_image.jpg -------------------------------------------------------------------------------- /benchmarks/prunability/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/prunability/readme.md -------------------------------------------------------------------------------- /benchmarks/prunability/requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/prunability/requirements.txt -------------------------------------------------------------------------------- /benchmarks/prunability/torchvision_pruning.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/prunability/torchvision_pruning.py -------------------------------------------------------------------------------- /benchmarks/prunability/yolov7_detect_pruned.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/prunability/yolov7_detect_pruned.py -------------------------------------------------------------------------------- /benchmarks/prunability/yolov7_train_pruned.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/prunability/yolov7_train_pruned.py -------------------------------------------------------------------------------- /benchmarks/prunability/yolov8_pruning.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/prunability/yolov8_pruning.py -------------------------------------------------------------------------------- /benchmarks/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/readme.md -------------------------------------------------------------------------------- /benchmarks/registry.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/registry.py -------------------------------------------------------------------------------- /benchmarks/requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/requirements.txt -------------------------------------------------------------------------------- /benchmarks/run/cifar10/prune/cifar10-global-group_sl-resnet56/cifar10-global-group_sl-resnet56.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/run/cifar10/prune/cifar10-global-group_sl-resnet56/cifar10-global-group_sl-resnet56.txt -------------------------------------------------------------------------------- /benchmarks/run/cifar10/prune/cifar10-global-group_sl-resnet56_2.55x/cifar10-global-group_sl-resnet56.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/run/cifar10/prune/cifar10-global-group_sl-resnet56_2.55x/cifar10-global-group_sl-resnet56.txt -------------------------------------------------------------------------------- /benchmarks/run/cifar10/prune/cifar10-global-l1-resnet56/cifar10-global-l1-resnet56.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/run/cifar10/prune/cifar10-global-l1-resnet56/cifar10-global-l1-resnet56.txt -------------------------------------------------------------------------------- /benchmarks/run/cifar10/prune/cifar10-global-slim-resnet56/cifar10-global-slim-resnet56.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/run/cifar10/prune/cifar10-global-slim-resnet56/cifar10-global-slim-resnet56.txt -------------------------------------------------------------------------------- /benchmarks/run/cifar100/prune/cifar100-global-group_sl-vgg19/cifar100-global-group_sl-vgg19.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/run/cifar100/prune/cifar100-global-group_sl-vgg19/cifar100-global-group_sl-vgg19.txt -------------------------------------------------------------------------------- /benchmarks/scripts/pretrain/cifar_pretrain.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/scripts/pretrain/cifar_pretrain.sh -------------------------------------------------------------------------------- /benchmarks/scripts/prune/ablation/global_group_norm.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/scripts/prune/ablation/global_group_norm.sh -------------------------------------------------------------------------------- /benchmarks/scripts/prune/ablation/global_group_sl.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/scripts/prune/ablation/global_group_sl.sh -------------------------------------------------------------------------------- /benchmarks/scripts/prune/ablation/global_group_sl_p2.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/scripts/prune/ablation/global_group_sl_p2.sh -------------------------------------------------------------------------------- /benchmarks/scripts/prune/ablation/global_l1.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/scripts/prune/ablation/global_l1.sh -------------------------------------------------------------------------------- /benchmarks/scripts/prune/ablation/global_l1_group_conv.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/scripts/prune/ablation/global_l1_group_conv.sh -------------------------------------------------------------------------------- /benchmarks/scripts/prune/ablation/global_lamp.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/scripts/prune/ablation/global_lamp.sh -------------------------------------------------------------------------------- /benchmarks/scripts/prune/ablation/global_rand.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/scripts/prune/ablation/global_rand.sh -------------------------------------------------------------------------------- /benchmarks/scripts/prune/ablation/global_slim.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/scripts/prune/ablation/global_slim.sh -------------------------------------------------------------------------------- /benchmarks/scripts/prune/ablation/local_group_norm.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/scripts/prune/ablation/local_group_norm.sh -------------------------------------------------------------------------------- /benchmarks/scripts/prune/ablation/local_l1.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/scripts/prune/ablation/local_l1.sh -------------------------------------------------------------------------------- /benchmarks/scripts/prune/ablation/local_l1_group_conv.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/scripts/prune/ablation/local_l1_group_conv.sh -------------------------------------------------------------------------------- /benchmarks/scripts/prune/ablation/local_rand.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/scripts/prune/ablation/local_rand.sh -------------------------------------------------------------------------------- /benchmarks/scripts/prune/cifar/bn_pruner.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/scripts/prune/cifar/bn_pruner.sh -------------------------------------------------------------------------------- /benchmarks/scripts/prune/cifar/group_pruner.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/scripts/prune/cifar/group_pruner.sh -------------------------------------------------------------------------------- /benchmarks/scripts/prune/cifar/l1_norm_pruner.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/scripts/prune/cifar/l1_norm_pruner.sh -------------------------------------------------------------------------------- /benchmarks/scripts/prune/imagenet/densenet_gsl.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/scripts/prune/imagenet/densenet_gsl.sh -------------------------------------------------------------------------------- /benchmarks/scripts/prune/imagenet/mobilenetv2_group_norm.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/scripts/prune/imagenet/mobilenetv2_group_norm.sh -------------------------------------------------------------------------------- /benchmarks/scripts/prune/imagenet/mobilenetv2_group_sl.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/scripts/prune/imagenet/mobilenetv2_group_sl.sh -------------------------------------------------------------------------------- /benchmarks/scripts/prune/imagenet/next50_group_norm.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/scripts/prune/imagenet/next50_group_norm.sh -------------------------------------------------------------------------------- /benchmarks/scripts/prune/imagenet/next50_group_sl.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/scripts/prune/imagenet/next50_group_sl.sh -------------------------------------------------------------------------------- /benchmarks/scripts/prune/imagenet/regnet_group_norm.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/scripts/prune/imagenet/regnet_group_norm.sh -------------------------------------------------------------------------------- /benchmarks/scripts/prune/imagenet/regnet_group_sl.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/scripts/prune/imagenet/regnet_group_sl.sh -------------------------------------------------------------------------------- /benchmarks/scripts/prune/imagenet/resnet50_group_norm.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/scripts/prune/imagenet/resnet50_group_norm.sh -------------------------------------------------------------------------------- /benchmarks/scripts/prune/imagenet/resnet50_group_sl.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/scripts/prune/imagenet/resnet50_group_sl.sh -------------------------------------------------------------------------------- /benchmarks/scripts/prune/imagenet/vgg_group_norm copy.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/scripts/prune/imagenet/vgg_group_norm copy.sh -------------------------------------------------------------------------------- /benchmarks/scripts/prune/imagenet/vit_group_norm.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/scripts/prune/imagenet/vit_group_norm.sh -------------------------------------------------------------------------------- /benchmarks/scripts/prune/modelnet40/global_group_norm.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/scripts/prune/modelnet40/global_group_norm.sh -------------------------------------------------------------------------------- /benchmarks/scripts/prune/ppi/global_group_norm.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/benchmarks/scripts/prune/ppi/global_group_norm.sh -------------------------------------------------------------------------------- /practical_structural_pruning.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/practical_structural_pruning.md -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | torch>=1.0 2 | numpy -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/setup.py -------------------------------------------------------------------------------- /tests/graph_drawing.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/tests/graph_drawing.py -------------------------------------------------------------------------------- /tests/test_backward.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/tests/test_backward.py -------------------------------------------------------------------------------- /tests/test_concat.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/tests/test_concat.py -------------------------------------------------------------------------------- /tests/test_concat_split.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/tests/test_concat_split.py -------------------------------------------------------------------------------- /tests/test_customized_layer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/tests/test_customized_layer.py -------------------------------------------------------------------------------- /tests/test_dependency_graph.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/tests/test_dependency_graph.py -------------------------------------------------------------------------------- /tests/test_dependency_lenet.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/tests/test_dependency_lenet.py -------------------------------------------------------------------------------- /tests/test_fully_connected_layers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/tests/test_fully_connected_layers.py -------------------------------------------------------------------------------- /tests/test_importance.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/tests/test_importance.py -------------------------------------------------------------------------------- /tests/test_interactive_pruner.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/tests/test_interactive_pruner.py -------------------------------------------------------------------------------- /tests/test_load.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/tests/test_load.py -------------------------------------------------------------------------------- /tests/test_multiple_inputs_and_outputs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/tests/test_multiple_inputs_and_outputs.py -------------------------------------------------------------------------------- /tests/test_pruner.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/tests/test_pruner.py -------------------------------------------------------------------------------- /tests/test_pruning_fn.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/tests/test_pruning_fn.py -------------------------------------------------------------------------------- /tests/test_reshape.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/tests/test_reshape.py -------------------------------------------------------------------------------- /tests/test_score_normalization.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/tests/test_score_normalization.py -------------------------------------------------------------------------------- /tests/test_split.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/tests/test_split.py -------------------------------------------------------------------------------- /tests/test_unwrapped_parameters.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/tests/test_unwrapped_parameters.py -------------------------------------------------------------------------------- /torch_pruning/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/torch_pruning/__init__.py -------------------------------------------------------------------------------- /torch_pruning/_helpers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/torch_pruning/_helpers.py -------------------------------------------------------------------------------- /torch_pruning/dependency.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/torch_pruning/dependency.py -------------------------------------------------------------------------------- /torch_pruning/importance.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/torch_pruning/importance.py -------------------------------------------------------------------------------- /torch_pruning/ops.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/torch_pruning/ops.py -------------------------------------------------------------------------------- /torch_pruning/pruner/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/torch_pruning/pruner/__init__.py -------------------------------------------------------------------------------- /torch_pruning/pruner/algorithms/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/torch_pruning/pruner/algorithms/__init__.py -------------------------------------------------------------------------------- /torch_pruning/pruner/algorithms/batchnorm_scale_pruner.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/torch_pruning/pruner/algorithms/batchnorm_scale_pruner.py -------------------------------------------------------------------------------- /torch_pruning/pruner/algorithms/group_norm_pruner.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/torch_pruning/pruner/algorithms/group_norm_pruner.py -------------------------------------------------------------------------------- /torch_pruning/pruner/algorithms/magnitude_based_pruner.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/torch_pruning/pruner/algorithms/magnitude_based_pruner.py -------------------------------------------------------------------------------- /torch_pruning/pruner/algorithms/metapruner.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/torch_pruning/pruner/algorithms/metapruner.py -------------------------------------------------------------------------------- /torch_pruning/pruner/algorithms/scheduler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/torch_pruning/pruner/algorithms/scheduler.py -------------------------------------------------------------------------------- /torch_pruning/pruner/function.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/torch_pruning/pruner/function.py -------------------------------------------------------------------------------- /torch_pruning/utils/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/torch_pruning/utils/__init__.py -------------------------------------------------------------------------------- /torch_pruning/utils/op_counter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/torch_pruning/utils/op_counter.py -------------------------------------------------------------------------------- /torch_pruning/utils/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/torch_pruning/utils/utils.py -------------------------------------------------------------------------------- /tutorials/0 - QuickStart.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/tutorials/0 - QuickStart.ipynb -------------------------------------------------------------------------------- /tutorials/1 - Customize Your Own Pruners.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/tutorials/1 - Customize Your Own Pruners.ipynb -------------------------------------------------------------------------------- /tutorials/2 - Exploring Dependency Groups.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oneflow-Inc/OneFlow-Pruning/HEAD/tutorials/2 - Exploring Dependency Groups.ipynb --------------------------------------------------------------------------------