/EagleEyeEFF

Implement channel pruning using the latest Torch.FX feature !!! && EagleEye reimplementation

Primary LanguagePython

EfficientPyTorch

  • This is an implementation of channel pruning using the latest torch.FX feature.
  • This is also a reimplementation of the paper EagleEye: Fast Sub-net Evaluation for Efficient Neural Network Pruning.
    • A modification to random search to make the search process more stable.

References

  1. https://github.com/anonymous47823493/EagleEye
  2. https://github.com/IntelLabs/distiller

Install

git clone https://github.com/hustzxd/EagleEyeEFF.git

cd EagleEyeEFF
# ./setup.sh
source setup.sh
pip install -r requirements.txt

Docker

docker build docker/ -t efftorch:torch1.10.0
docker run -itd -v [datasets]:/workspace/datasets -v [repo]:/workspace/EagleEyeEFF --gpus all --ipc=host --name efftorch [images:id]
docker exec -it [container:id] /bin/bash

Run

./run_cli.sh examples/classifier_cifar10/prototxt/vggsmall_eagle0.9.prototxt
./run_cli.sh examples/classifier_imagenet/prototxt/resnet50_eagle0.5w0a0.prototxt
./run_cli.sh examples/classifier_imagenet/prototxt/mobilenetv1_eagle0.5w0a0.prototxt