/imgclsmob

Sandbox for training convolutional networks for computer vision

Primary LanguagePythonMIT LicenseMIT

Convolutional neural networks for computer vision

Build Status GitHub License Python Version

This repo is used to research convolutional networks for task of computer vision. For this purpose, the repo contains (re)implementations of various classification and segmentation models and scripts for training/evaluating/converting.

The following frameworks are used:

For each supported framework, there is a PIP-package containing pure models without auxiliary scripts. List of packages:

Currently, models are mostly implemented on Gluon and then ported to other frameworks. Some models are pretrained on ImageNet-1K, CIFAR-10/100, SVHN, CUB-200-2011, Pascal VOC2012, ADE20K, Cityscapes, and COCO 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:

Installation

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

Table of implemented classification models

Some remarks:

  • Repo is an author repository, if it exists.
  • A, B, C, D, and E means the implementation of a model for ImageNet-1K, CIFAR-10, CIFAR-100, SVHN, and CUB-200-2011, respectively.
  • A+, B+, C+, D+, and E+ means having a pre-trained model for corresponding datasets.
Model Gluon PyTorch Chainer Keras TF Paper Repo Year
AlexNet A+ A+ A+ A+ A+ link link 2012
ZFNet A A A A A 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+D+E+ A+B+C+D+E+ A+B+C+D+E+ A+ A+ link link 2015
PreResNet A+B+C+D+ A+B+C+D+ A+B+C+D+ A+ A+ link link 2016
ResNeXt A+B+C+D+ A+B+C+D+ A+B+C+D+ A+ A+ link link 2016
SENet A+ A+ A+ A+ A+ link link 2017
SE-ResNet A+B+C+D+E+ A+B+C+D+E+ A+B+C+D+E+ A+ A+ link link 2017
SE-PreResNet A+B+C+D+ A+B+C+D+ A+B+C+D+ 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
SKNet A A A - - link link 2019
DIA-ResNet AB+C+D+ AB+C+D+ AB+C+D+ - - link link 2019
DIA-PreResNet AB+C+D+ AB+C+D+ AB+C+D+ - - link link 2019
PyramidNet A+B+C+D+ A+B+C+D+ A+B+C+D+ - - link link 2016
DiracNetV2 A+ A+ A+ - - link link 2017
ShaResNet A A A - - link link 2017
CRU-Net A+ - - - - link link 2018
DenseNet A+B+C+D+ A+B+C+D+ A+B+C+D+ 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
Oct-ResNet ABCD A A - - link - 2019
Res2Net A - - - - link - 2019
WRN A+B+C+D+ A+B+C+D+ A+B+C+D+ - - link link 2016
WRN-1bit B+C+D+ B+C+D+ B+C+D+ - - link link 2018
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
iSQRT-COV-ResNet A A - - - link link 2017
RevNet - A - - - link link 2017
i-RevNet A+ A+ A+ - - link link 2018
BagNet A+ A+ A+ - - link link 2019
DLA A+ A+ A+ - - link link 2017
MSDNet A AB - - - link link 2017
FishNet A+ A+ A+ - - link link 2018
ESPNetv2 A+ A+ A+ - - link link 2018
X-DenseNet AB+C+D+ AB+C+D+ AB+C+D+ - - link link 2017
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+E+ A+E+ A+E+ A+ A+ link link 2017
FD-MobileNet A+ A+ A+ A+ A+ link link 2018
MobileNetV2 A+ A+ A+ A+ A+ link link 2018
MobileNetV3 A A A - - link - 2019
IGCV3 A+ A+ A+ A+ A+ link link 2018
MnasNet A+ A+ A+ A+ A+ link - 2018
DARTS A+ A+ A+ - - link link 2018
ProxylessNAS A+E+ A+E+ A+E+ - - 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
EfficientNet A+ A+ A+ A+ - link link 2019
NIN B+C+D+ B+C+D+ B+C+D+ - - link link 2013
RoR-3 B+C+D+ B+C+D+ B+C+D+ - - link - 2016
RiR B+C+D+ B+C+D+ B+C+D+ - - link - 2016
ResDrop-ResNet BCD BCD BCD - - link link 2016
Shake-Shake-ResNet B+C+D+ B+C+D+ B+C+D+ - - link link 2017
ShakeDrop-ResNet BCD BCD BCD - - link - 2018
FractalNet BC BC - - - link link 2016
NTS-Net E+ E+ E+ - - link link 2018

Table of implemented segmentation models

Some remarks:

  • A corresponds to Pascal VOC2012.
  • B corresponds to Pascal ADE20K.
  • C corresponds to Pascal Cityscapes.
  • D corresponds to Pascal COCO.
Model Gluon PyTorch Chainer Keras TensorFlow Paper Repo Year
PSPNet A+B+C+D+ A+B+C+D+ A+B+C+D+ - - link - 2016
DeepLabv3 A+B+CD+ A+B+CD+ A+B+CD+ - - link - 2017
FCN-8s(d) A+B+CD+ A+B+CD+ A+B+CD+ - - link - 2014