Smart-Pruner is a Pytorch based module designed to apply various pruning techniques across multiple model-dataset architectures. It simplifies the evaluation process by providing insights into accuracy, energy consumption, and speedup for different pruning techniques.
- Apply multiple pruning techniques to diverse model-dataset configurations.
- Obtain insights on accuracy, energy consumption, and speedup.
- Easy integration of new pruning methods.
- Clone the Smart-Pruner repository:
git clone https://github.com/prabhas2002/Smart-Pruner.git
2 Install the required dependencies:
pip install -r requirements.txt
Check the ipynb files for example usage.
- The pruning methods supported by Smart-Pruner, such as:
- Global Pruning
- Random Unstructured Pruning
- L1-Norm Based Filter pruning
- Ln Structured pruning
- Pruning with 2:4 Sparsity (check research paper)
- Decay Pruning
- Thinet (check research paper)
- The model-dataset architectures compatible with Smart-Pruner, for example:
- ResNet-50 with CIFAR-10
- AlexNet with CIFAR10
- LeNet on MNIST
- VggNet on CIFAR10
- Smart-Pruner allows easy integration of new pruning methods. Follow these steps:
- Implement your new pruning method in the
/pruning
folder. - Add the new pruning file name in init file of it.
- Import it in ipynb file.
- Implement your new pruning method in the
We welcome contributions to Smart-Pruner! If you have suggestions, bug reports, or want to add new features, please fork the repository and submit a pull request.