The repo was built over the code base for the pytorch implementation of 'Deep Compression: Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman Coding' by Song Han, Huizi Mao, William J. Dally by tonyapplekim/deepcompressionpytorch
./vae_compress.sh
runs the three deep compression stages Pruning, weight sharing and huffman encoding on the saved autoencoder models.
./low_rank_exp.sh
runs joint low rank compression for a number of epsilon values.
low_rank_quant.py - code for low rank approximation (see the parameter descriptions in the file) pruning.py - refer to tonyapplekim repo for instructions on how to use this repo. Added some extra flags like symmetrical pruning, etc in our version. prune.py
Following packages are required for this project
- Python3.6+
- tqdm
- numpy
- pytorch, torchvision
- scipy
- scikit-learn