Skip to content

Randl/ShuffleNetV2-pytorch

Repository files navigation

ShuffleNetv2 in PyTorch

An implementation of ShuffleNetv2 in PyTorch. ShuffleNetv2 is an efficient convolutional neural network architecture for mobile devices. For more information check the paper: ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design

Usage

Clone the repo:

git clone https://github.com/Randl/ShuffleNetV2-pytorch
pip install -r requirements.txt

Use the model defined in model.py to run ImageNet example:

python imagenet.py --dataroot "/path/to/imagenet/"

To continue training from checkpoint

python imagenet.py --dataroot "/path/to/imagenet/" --resume "/path/to/checkpoint/folder"

Results

For x0.5 model I achieved 0.4% lower top-1 accuracy than claimed.

Classification Checkpoint MACs (M) Parameters (M) Top-1 Accuracy Top-5 Accuracy Claimed top-1 Claimed top-5
[shufflenet_v2_0.5] 41 1.37 59.86 81.63 60.3 -

You can test it with

python imagenet.py --dataroot "/path/to/imagenet/" --resume "results/shufflenet_v2_0.5/model_best.pth.tar" -e --scaling 0.5