ShuffleNet V2

Last updated on Feb 12, 2021

ShuffleNet V2

Parameters 2 Million
FLOPs 149 Million
File Size 8.79 MB
Training Data ImageNet
Training Resources 8x NVIDIA V100 GPUs
Training Time

Training Techniques Weight Decay, SGD with Momentum
Architecture 1x1 Convolution, Channel Shuffle, Depthwise Convolution, Squeeze-and-Excitation Block, ShuffleNet V2 Downsampling Block, Batch Normalization, Convolution, Global Average Pooling, ShuffleNet V2 Block, Residual Connection, ReLU, Max Pooling, Softmax
ID shufflenet_v2_x1_0
LR 0.1
Epochs 90
LR Gamma 0.1
Momentum 0.9
Batch Size 32
LR Step Size 30
Weight Decay 0.0001
SHOW MORE
SHOW LESS
README.md

Summary

ShuffleNet v2 is a convolutional neural network optimized for a direct metric (speed) rather than indirect metrics like FLOPs. It builds upon ShuffleNet v1, which utilised pointwise group convolutions, bottleneck-like structures, and a channel shuffle operation. Differences are shown in the model Figure, including a new channel split operation and moving the channel shuffle operation further down the block. The main building block is a ShuffleNet v2 Block.

How do I load this model?

To load a pretrained model:

import torchvision.models as models
shufflenet = models.shufflenet_v2_x1_0(pretrained=True)

Replace the model name with the variant you want to use, e.g. shufflenet_v2_x1_0. You can find the IDs in the model summaries at the top of this page.

To evaluate the model, use the image classification recipes from the library.

python train.py --test-only --model='<model_name>'

How do I train this model?

You can follow the torchvision recipe on GitHub for training a new model afresh.

Citation

@article{DBLP:journals/corr/abs-1807-11164,
  author    = {Ningning Ma and
               Xiangyu Zhang and
               Hai{-}Tao Zheng and
               Jian Sun},
  title     = {ShuffleNet {V2:} Practical Guidelines for Efficient {CNN} Architecture
               Design},
  journal   = {CoRR},
  volume    = {abs/1807.11164},
  year      = {2018},
  url       = {http://arxiv.org/abs/1807.11164},
  archivePrefix = {arXiv},
  eprint    = {1807.11164},
  timestamp = {Thu, 14 Mar 2019 14:56:07 +0100},
  biburl    = {https://dblp.org/rec/journals/corr/abs-1807-11164.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

Results

Image Classification on ImageNet

Image Classification
BENCHMARK MODEL METRIC NAME METRIC VALUE GLOBAL RANK
ImageNet ShuffleNet V2 Top 1 Accuracy 69.36% # 281
Top 5 Accuracy 88.32% # 281