Home

Awesome

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 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