This repo is used to research large-scale image classification models for embedded systems. For this purpose, the repo contains (re)implementations of various classification models and scripts for training/evaluating/converting.
The following frameworks are used:
- MXNet/Gluon (info),
- PyTorch (info),
- Chainer (info),
- Keras with MXNet backend (info),
- TensorFlow (info).
For each supported framework, there is a PIP-package containing pure models without auxiliary scripts. List of packages:
- gluoncv2 for Gluon,
- pytorchcv for PyTorch,
- chainercv2 for Chainer,
- kerascv for Keras-MXNet,
- tensorflowcv for TensorFlow.
Currently, models are mostly implemented on Gluon and then ported to other frameworks. Some models are pretrained on ImageNet-1K and CIFAR-10/100 datasets. All pretrained weights are loaded automatically during use. See examples of such automatic loading of weights in the corresponding sections of the documentation dedicated to a particular package:
To use training/evaluating scripts as well as all models, you need to clone the repository and install dependencies:
git clone git@github.com:osmr/imgclsmob.git
pip install -r requirements.txt
Some remarks:
Repo
is an author repository, if it exists.A
,B
, andC
means the implementation of a model for ImageNet-1K, CIFAR-10, and CIFAR-100, respectively.A+
,B+
, andC+
means having a pre-trained model for ImageNet-1K, CIFAR-10, and CIFAR-100, respectively.
Model | Gluon | PyTorch | Chainer | Keras | TensorFlow | Paper | Repo | Year |
---|---|---|---|---|---|---|---|---|
AlexNet | A+ | A+ | A+ | A+ | A+ | link | link | 2012 |
ZFNet | A | A | A | - | - | link | - | 2013 |
NIN | B+C+ | B+C+ | B+C+ | - | - | link | link | 2013 |
VGG | A+ | A+ | A+ | A+ | A+ | link | - | 2014 |
BN-VGG | A+ | A+ | A+ | A+ | A+ | link | - | 2015 |
BN-Inception | A+ | A+ | A+ | - | - | link | - | 2015 |
ResNet | A+B+C+ | A+B+C+ | A+B+C+ | A+ | A+ | link | link | 2015 |
PreResNet | A+B+C+ | A+B+C+ | A+B+C+ | A+ | A+ | link | link | 2016 |
ResNeXt | A+B+C+ | A+B+C+ | A+B+C+ | A+ | A+ | link | link | 2016 |
SENet | A+ | A+ | A+ | A+ | A+ | link | link | 2017 |
SE-ResNet | A+ | A+ | A+ | A+ | A+ | link | link | 2017 |
SE-PreResNet | A | A | A | A | A | link | link | 2017 |
SE-ResNeXt | A+ | A+ | A+ | A+ | A+ | link | link | 2017 |
IBN-ResNet | A+ | A+ | - | - | - | link | link | 2018 |
IBN-ResNeXt | A+ | A+ | - | - | - | link | link | 2018 |
IBN-DenseNet | A+ | A+ | - | - | - | link | link | 2018 |
AirNet | A+ | A+ | A+ | - | - | link | link | 2018 |
AirNeXt | A+ | A+ | A+ | - | - | link | link | 2018 |
BAM-ResNet | A+ | A+ | A+ | - | - | link | link | 2018 |
CBAM-ResNet | A+ | A+ | A+ | - | - | link | link | 2018 |
ResAttNet | A | A | A | - | - | link | link | 2017 |
PyramidNet | A+B+C+ | A+B+C+ | A+B+C+ | - | - | link | link | 2016 |
DiracNetV2 | A+ | A+ | A+ | - | - | link | link | 2017 |
CRU-Net | A+ | - | - | - | - | link | link | 2018 |
DenseNet | A+B+C+ | A+B+C+ | A+B+C+ | A+ | A+ | link | link | 2016 |
CondenseNet | A+ | A+ | A+ | - | - | link | link | 2017 |
SparseNet | A | A | A | - | - | link | link | 2018 |
PeleeNet | A+ | A+ | A+ | - | - | link | link | 2018 |
WRN | A+B+C+ | A+B+C+ | A+B+C+ | - | - | link | link | 2016 |
DRN-C | A+ | A+ | A+ | - | - | link | link | 2017 |
DRN-D | A+ | A+ | A+ | - | - | link | link | 2017 |
DPN | A+ | A+ | A+ | - | - | link | link | 2017 |
DarkNet Ref | A+ | A+ | A+ | A+ | A+ | link | link | - |
DarkNet Tiny | A+ | A+ | A+ | A+ | A+ | link | link | - |
DarkNet-19 | A | A | A | A | A | link | link | - |
DarkNet-53 | A+ | A+ | A+ | A+ | A+ | link | link | 2018 |
ChannelNet | A | A | A | - | A | link | link | 2018 |
DLA | A+ | A+ | A+ | - | - | link | link | 2017 |
MSDNet | A | AB | - | - | - | link | link | 2017 |
FishNet | A+ | A+ | A+ | - | - | link | link | 2018 |
SqueezeNet | A+ | A+ | A+ | A+ | A+ | link | link | 2016 |
SqueezeResNet | A+ | A+ | A+ | A+ | A+ | link | - | 2016 |
SqueezeNext | A+ | A+ | A+ | A+ | A+ | link | link | 2018 |
ShuffleNet | A+ | A+ | A+ | A+ | A+ | link | - | 2017 |
ShuffleNetV2 | A+ | A+ | A+ | A+ | A+ | link | - | 2018 |
MENet | A+ | A+ | A+ | A+ | A+ | link | link | 2018 |
MobileNet | A+ | A+ | A+ | A+ | A+ | link | link | 2017 |
FD-MobileNet | A+ | A+ | A+ | A+ | A+ | link | link | 2018 |
MobileNetV2 | A+ | A+ | A+ | A+ | A+ | link | link | 2018 |
IGCV3 | A+ | A+ | A+ | A+ | A+ | link | link | 2018 |
MnasNet | A+ | A+ | A+ | A+ | A+ | link | - | 2018 |
DARTS | A+ | A+ | A+ | - | - | link | link | 2018 |
Xception | A+ | A+ | A+ | - | - | link | link | 2016 |
InceptionV3 | A+ | A+ | A+ | - | - | link | link | 2015 |
InceptionV4 | A+ | A+ | A+ | - | - | link | link | 2016 |
InceptionResNetV2 | A+ | A+ | A+ | - | - | link | link | 2016 |
PolyNet | A+ | A+ | A+ | - | - | link | link | 2016 |
NASNet-Large | A+ | A+ | A+ | - | - | link | link | 2017 |
NASNet-Mobile | A+ | A+ | A+ | - | - | link | link | 2017 |
PNASNet-Large | A+ | A+ | A+ | - | - | link | link | 2017 |