Deep learning networks
This repo is used to research convolutional networks primarily for computer vision tasks. For this purpose, the repo contains (re)implementations of various classification, segmentation, detection, and pose estimation 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:
- gluoncv2 for Gluon,
- pytorchcv for PyTorch,
- chainercv2 for Chainer,
- kerascv for Keras,
- tensorflowcv for TensorFlow 1.x,
- tf2cv for TensorFlow 2.x.
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:
- Gluon models,
- PyTorch models,
- Chainer models,
- Keras models,
- TensorFlow 1.x models,
- TensorFlow 2.x models.
Installation
To use training/evaluating scripts as well as all models, you need to clone the repository and install dependencies:
git clone gi[email protected]:osmr/imgclsmob.git
pip install -r requirements.txt
Table of implemented classification models
Some remarks:
Repois an author repository, if it exists.a,b,c,d, andemeans the implementation of a model for ImageNet-1K, CIFAR-10, CIFAR-100, SVHN, and CUB-200-2011, respectively.A,B,C,D, andEmeans having a pre-trained model for corresponding datasets.
| Model | Gluon | PyTorch | Chainer | Keras | TF | TF2 | Paper | Repo | Year |
|---|---|---|---|---|---|---|---|---|---|
| AlexNet | A | A | A | A | A | A | link | link | 2012 |
| ZFNet | A | A | A | A | A | A | link | - | 2013 |
| VGG | A | A | A | A | A | A | link | - | 2014 |
| BN-VGG | A | A | A | A | A | A | link | - | 2015 |
| BN-Inception | A | A | A | - | - | A | link | - | 2015 |
| ResNet | ABCDE | ABCDE | ABCDE | A | A | ABCDE | link | link | 2015 |
| PreResNet | ABCD | ABCD | ABCD | A | A | ABCD | link | link | 2016 |
| ResNeXt | ABCD | ABCD | ABCD | A | A | ABCD | link | link | 2016 |
| SENet | A | A | A | A | A | A | link | link | 2017 |
| SE-ResNet | ABCDE | ABCDE | ABCDE | A | A | ABCDE | link | link | 2017 |
| SE-PreResNet | ABCD | ABCD | ABCD | A | A | ABCD | link | link | 2017 |
| SE-ResNeXt | A | A | A | A | A | A | link | link | 2017 |
| ResNeSt(A) | A | A | A | - | - | A | link | link | 2020 |
| IBN-ResNet | A | A | - | - | - | A | link | link | 2018 |
| IBN-ResNeXt | A | A | - | - | - | A | link | link | 2018 |
| IBN-DenseNet | A | A | - | - | - | A | link | link | 2018 |
| AirNet | A | A | A | - | - | A | link | link | 2018 |
| AirNeXt | A | A | A | - | - | A | link | link | 2018 |
| BAM-ResNet | A | A | A | - | - | A | link | link | 2018 |
| CBAM-ResNet | A | A | A | - | - | A | link | link | 2018 |
| ResAttNet | a | a | a | - | - | - | link | link | 2017 |
| SKNet | a | a | a | - | - | - | link | link | 2019 |
| SCNet | A | A | A | - | - | A | link | link | 2020 |
| RegNet | A | A | A | - | - | A | link | link | 2020 |
| DIA-ResNet | aBCD | aBCD | aBCD | - | - | - | link | link | 2019 |
| DIA-PreResNet | aBCD | aBCD | aBCD | - | - | - | link | link | 2019 |
| PyramidNet | ABCD | ABCD | ABCD | - | - | ABCD | link | link | 2016 |
| DiracNetV2 | A | A | A | - | - | A | link | link | 2017 |
| ShaResNet | a | a | a | - | - | - | link | link | 2017 |
| CRU-Net | A | - | - | - | - | - | link | link | 2018 |
| DenseNet | ABCD | ABCD | ABCD | A | A | ABCD | link | link | 2016 |
| CondenseNet | A | A | A | - | - | - | link | link | 2017 |
| SparseNet | a | a | a | - | - | - | link | link | 2018 |
| PeleeNet | A | A | A | - | - | A | link | link | 2018 |
| Oct-ResNet | abcd | a | a | - | - | - | link | - | 2019 |
| Res2Net | a | - | - | - | - | - | link | - | 2019 |
| WRN | ABCD | ABCD | ABCD | - | - | a | link | link | 2016 |
| WRN-1bit | BCD | BCD | BCD | - | - | - | link | link | 2018 |
| DRN-C | A | A | A | - | - | A | link | link | 2017 |
| DRN-D | A | A | A | - | - | A | link | link | 2017 |
| DPN | A | A | A | - | - | A | link | link | 2017 |
| DarkNet Ref | A | A | A | A | A | A | link | link | - |
| DarkNet Tiny | A | A | A | A | A | A | link | link | - |
| DarkNet-19 | a | a | a | a | a | a | link | link | - |
| DarkNet-53 | A | 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 | - | - | A | link | link | 2019 |
| DLA | A | 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 |
| DiCENet | A | A | A | - | - | A | link | link | 2019 |
| HRNet | A | A | A | - | - | A | link | link | 2019 |
| VoVNet | A | A | A | - | - | A | link | link | 2019 |
| SelecSLS | A | A | A | - | - | A | link | link | 2019 |
| HarDNet | A | A | A | - | - | A | link | link | 2019 |
| X-DenseNet | aBCD | aBCD | aBCD | - | - | - | link | link | 2017 |
| SqueezeNet | A | A | A | A | A | A | link | link | 2016 |
| SqueezeResNet | A | A | A | A | A | A | link | - | 2016 |
| SqueezeNext | A | A | A | A | A | A | link | link | 2018 |
| ShuffleNet | A | A | A | A | A | A | link | - | 2017 |
| ShuffleNetV2 | A | A | A | A | A | A | link | - | 2018 |
| MENet | A | A | A | A | A | A | link | link | 2018 |
| MobileNet | AE | AE | AE | A | A | AE | link | link | 2017 |
| FD-MobileNet | A | A | A | A | A | A | link | link | 2018 |
| MobileNetV2 | A | A | A | A | A | A | link | link | 2018 |
| MobileNetV3 | A | A | A | A | - | A | link | link | 2019 |
| IGCV3 | A | A | A | A | A | A | link | link | 2018 |
| GhostNet | a | a | a | - | - | a | link | link | 2019 |
| MnasNet | A | A | A | A | A | A | link | - | 2018 |
| DARTS | A | A | A | - | - | - | link | link | 2018 |
| ProxylessNAS | AE | AE | AE | - | - | AE | link | link | 2018 |
| FBNet-C | A | A | A | - | - | A | link | - | 2018 |
| Xception | A | A | A | - | - | A | link | link | 2016 |
| InceptionV3 | A | A | A | - | - | A | link | link | 2015 |
| InceptionV4 | A | A | A | - | - | A | link | link | 2016 |
| InceptionResNetV2 | A | A | A | - | - | A | link | link | 2016 |
| PolyNet | A | A | A | - | - | A | link | link | 2016 |
| NASNet-Large | A | A | A | - | - | A | link | link | 2017 |
| NASNet-Mobile | A | A | A | - | - | A | link | link | 2017 |
| PNASNet-Large | A | A | A | - | - | A | link | link | 2017 |
| SPNASNet | A | A | A | - | - | A | link | link | 2019 |
| EfficientNet | A | A | A | A | - | A | link | link | 2019 |
| MixNet | A | A | A | - | - | A | link | link | 2019 |
| NIN | BCD | BCD | BCD | - | - | - | link | link | 2013 |
| RoR-3 | BCD | BCD | BCD | - | - | - | link | - | 2016 |
| RiR | BCD | BCD | BCD | - | - | - | link | - | 2016 |
| ResDrop-ResNet | bcd | bcd | bcd | - | - | - | link | link | 2016 |
| Shake-Shake-ResNet | BCD | BCD | BCD | - | - | - | 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/Acorresponds to Pascal VOC2012.b/Bcorresponds to ADE20K.c/Ccorresponds to Cityscapes.d/Dcorresponds to COCO.e/Ecorresponds to CelebAMask-HQ.
| Model | Gluon | PyTorch | Chainer | Keras | TF | TF2 | Paper | Repo | Year |
|---|---|---|---|---|---|---|---|---|---|
| PSPNet | ABCD | ABCD | ABCD | - | - | ABCD | link | - | 2016 |
| DeepLabv3 | ABcD | ABcD | ABcD | - | - | ABcD | link | - | 2017 |
| FCN-8s(d) | ABcD | ABcD | ABcD | - | - | ABcD | link | - | 2014 |
| ICNet | C | C | C | - | - | C | link | link | 2017 |
| SINet | C | C | C | - | - | c | link | link | 2019 |
| BiSeNet | e | e | e | - | - | e | link | - | 2018 |
| DANet | C | C | C | - | - | C | link | link | 2018 |
| Fast-SCNN | C | C | C | - | - | C | link | - | 2019 |
| CGNet | c | c | c | - | - | c | link | link | 2018 |
| DABNet | c | c | c | - | - | c | link | link | 2019 |
| FPENet | c | c | c | - | - | c | link | - | 2019 |
| ContextNet | - | c | - | - | - | - | link | - | 2018 |
| LEDNet | c | c | c | - | - | c | link | - | 2019 |
| ESNet | - | c | - | - | - | - | link | - | 2019 |
| EDANet | - | c | - | - | - | - | link | link | 2018 |
| ENet | - | c | - | - | - | - | link | - | 2016 |
| ERFNet | - | c | - | - | - | - | link | - | 2017 |
| LinkNet | - | c | - | - | - | - | link | - | 2017 |
| SegNet | - | c | - | - | - | - | link | - | 2015 |
| U-Net | - | c | - | - | - | - | link | - | 2015 |
| SQNet | - | c | - | - | - | - | link | - | 2016 |
Table of implemented object detection models
Some remarks:
a/Acorresponds to COCO.
| Model | Gluon | PyTorch | Chainer | Keras | TF | TF2 | Paper | Repo | Year |
|---|---|---|---|---|---|---|---|---|---|
| CenterNet | a | a | a | - | - | a | link | link | 2019 |
Table of implemented human pose estimation models
Some remarks:
a/Acorresponds to COCO.
| Model | Gluon | PyTorch | Chainer | Keras | TF | TF2 | Paper | Repo | Year |
|---|---|---|---|---|---|---|---|---|---|
| AlphaPose | A | A | A | - | - | A | link | link | 2016 |
| SimplePose | A | A | A | - | - | A | link | link | 2018 |
| SimplePose(Mobile) | A | A | A | - | - | A | link | - | 2018 |
| Lightweight OpenPose | A | A | A | - | - | A | link | link | 2018 |
| IBPPose | A | A | A | - | - | A | link | link | 2019 |
PyramidNet's residual block(d) is not the same as pre-resnet's(a). It deletes the first ReLU and adds a new BN at the end.
I noticed that in the pytorch version pyramidnet.py, the model is built just on pre_conv1x1_block.
Waitting for your verification.