ShuffleNetv2 in PyTorch

August 11, 2018 ยท View on GitHub

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 CheckpointMACs (M)Parameters (M)Top-1 AccuracyTop-5 AccuracyClaimed top-1Claimed top-5
[shufflenet_v2_0.5]411.3759.8681.6360.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