All Projects → BIGBALLON → Cifar Zoo

BIGBALLON / Cifar Zoo

Licence: mit
PyTorch implementation of CNNs for CIFAR benchmark

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Cifar Zoo

Classification models
Classification models trained on ImageNet. Keras.
Stars: ✭ 938 (+60.62%)
Mutual labels:  resnet, densenet, resnext
Basic cnns tensorflow2
A tensorflow2 implementation of some basic CNNs(MobileNetV1/V2/V3, EfficientNet, ResNeXt, InceptionV4, InceptionResNetV1/V2, SENet, SqueezeNet, DenseNet, ShuffleNetV2, ResNet).
Stars: ✭ 374 (-35.96%)
Mutual labels:  resnet, densenet, resnext
Keras Idiomatic Programmer
Books, Presentations, Workshops, Notebook Labs, and Model Zoo for Software Engineers and Data Scientists wanting to learn the TF.Keras Machine Learning framework
Stars: ✭ 720 (+23.29%)
Mutual labels:  resnet, densenet, resnext
Segmentation models
Segmentation models with pretrained backbones. Keras and TensorFlow Keras.
Stars: ✭ 3,575 (+512.16%)
Mutual labels:  resnet, densenet, resnext
Pytorch Classification
Classification with PyTorch.
Stars: ✭ 1,268 (+117.12%)
Mutual labels:  resnet, densenet, resnext
Pytorch Cifar100
Practice on cifar100(ResNet, DenseNet, VGG, GoogleNet, InceptionV3, InceptionV4, Inception-ResNetv2, Xception, Resnet In Resnet, ResNext,ShuffleNet, ShuffleNetv2, MobileNet, MobileNetv2, SqueezeNet, NasNet, Residual Attention Network, SENet, WideResNet)
Stars: ✭ 2,423 (+314.9%)
Mutual labels:  resnet, densenet, resnext
Pytorch Speech Commands
Speech commands recognition with PyTorch
Stars: ✭ 128 (-78.08%)
Mutual labels:  resnet, densenet, resnext
Pytorch classification
利用pytorch实现图像分类的一个完整的代码,训练,预测,TTA,模型融合,模型部署,cnn提取特征,svm或者随机森林等进行分类,模型蒸馏,一个完整的代码
Stars: ✭ 395 (-32.36%)
Mutual labels:  resnet, densenet, resnext
medium blogs
medium blog supplementaries | Backprop | Resnet & ResNext | RNN |
Stars: ✭ 69 (-88.18%)
Mutual labels:  resnet, resnext
python cv AI ML
用python做计算机视觉,人工智能,机器学习,深度学习等
Stars: ✭ 73 (-87.5%)
Mutual labels:  densenet, resnet
Awesome Very Deep Learning
♾A curated list of papers and code about very deep neural networks
Stars: ✭ 435 (-25.51%)
Mutual labels:  resnet, densenet
pytorch2keras
PyTorch to Keras model convertor
Stars: ✭ 788 (+34.93%)
Mutual labels:  densenet, resnet
awesome-computer-vision-models
A list of popular deep learning models related to classification, segmentation and detection problems
Stars: ✭ 419 (-28.25%)
Mutual labels:  densenet, resnet
gluon2pytorch
Gluon to PyTorch deep neural network model converter
Stars: ✭ 72 (-87.67%)
Mutual labels:  densenet, resnet
Eeg Dl
A Deep Learning library for EEG Tasks (Signals) Classification, based on TensorFlow.
Stars: ✭ 165 (-71.75%)
Mutual labels:  resnet, densenet
cifar-tensorflow
No description or website provided.
Stars: ✭ 18 (-96.92%)
Mutual labels:  densenet, resnet
Tensorrtx
Implementation of popular deep learning networks with TensorRT network definition API
Stars: ✭ 3,456 (+491.78%)
Mutual labels:  resnet, resnext
TensorMONK
A collection of deep learning models (PyTorch implemtation)
Stars: ✭ 21 (-96.4%)
Mutual labels:  densenet, resnet
Resnext.pytorch
Reproduces ResNet-V3 with pytorch
Stars: ✭ 424 (-27.4%)
Mutual labels:  resnet, resnext
Awesome Computer Vision Models
A list of popular deep learning models related to classification, segmentation and detection problems
Stars: ✭ 278 (-52.4%)
Mutual labels:  resnet, densenet

Awesome CIFAR Zoo

Status: Archive ( Final test with PyTorch 1.7 and no longer maintained, I would recommend you to use pycls powered by FAIR, which is a simple and flexible codebase for image classification )

This repository contains the pytorch code for multiple CNN architectures and improve methods based on the following papers, hope the implementation and results will helpful for your research!!

Requirements and Usage

Requirements

  • Python (>=3.6)
  • PyTorch (>=1.1.0)
  • Tensorboard(>=1.4.0) (for visualization)
  • Other dependencies (pyyaml, easydict)
pip install -r requirements.txt

Usage

simply run the cmd for the training:

## 1 GPU for lenet
CUDA_VISIBLE_DEVICES=0 python -u train.py --work-path ./experiments/cifar10/lenet

## resume from ckpt
CUDA_VISIBLE_DEVICES=0 python -u train.py --work-path ./experiments/cifar10/lenet --resume

## 2 GPUs for resnet1202
CUDA_VISIBLE_DEVICES=0,1 python -u train.py --work-path ./experiments/cifar10/preresnet1202

## 4 GPUs for densenet190bc
CUDA_VISIBLE_DEVICES=0,1,2,3 python -u train.py --work-path ./experiments/cifar10/densenet190bc

## 1 GPU for vgg19 inference
CUDA_VISIBLE_DEVICES=0 python -u eval.py --work-path ./experiments/cifar10/vgg19

We use yaml file config.yaml to save the parameters, check any files in ./experimets for more details.
You can see the training curve via tensorboard, tensorboard --logdir path-to-event --port your-port.
The training log will be dumped via logging, check log.txt in your work path.

Results on CIFAR

Vanilla architectures

architecture params batch size epoch C10 test acc (%) C100 test acc (%)
Lecun 62K 128 250 67.46 34.10
alexnet 2.4M 128 250 75.56 38.67
vgg19 20M 128 250 93.00 72.07
preresnet20 0.27M 128 250 91.88 67.03
preresnet110 1.7M 128 250 94.24 72.96
preresnet1202 19.4M 128 250 94.74 75.28
densenet100bc 0.76M 64 300 95.08 77.55
densenet190bc 25.6M 64 300 96.11 82.59
resnext29_16x64d 68.1M 128 300 95.94 83.18
se_resnext29_16x64d 68.6M 128 300 96.15 83.65
cbam_resnext29_16x64d 68.7M 128 300 96.27 83.62
ge_resnext29_16x64d 70.0M 128 300 96.21 83.57

With additional regularization

PS: the default data augmentation methods are RandomCrop + RandomHorizontalFlip + Normalize,
and the means which additional method be used. 🍰

architecture epoch cutout mixup C10 test acc (%)
preresnet20 250 91.88
preresnet20 250 92.57
preresnet20 250 92.71
preresnet20 250 92.66
preresnet110 250 94.24
preresnet110 250 94.67
preresnet110 250 94.94
preresnet110 250 95.66
se_resnext29_16x64d 300 96.15
se_resnext29_16x64d 300 96.60
se_resnext29_16x64d 300 96.86
se_resnext29_16x64d 300 97.03
cbam_resnext29_16x64d 300 97.16
ge_resnext29_16x64d 300 97.19
-- -- -- -- --
shake_resnet26_2x64d 1800 96.94
shake_resnet26_2x64d 1800 97.20
shake_resnet26_2x64d 1800 97.42
shake_resnet26_2x64d 1800 97.71

PS: shake_resnet26_2x64d achieved 97.71% test accuracy with cutout and mixup!!
It's cool, right?

With different LR scheduler

architecture epoch step decay cosine htd(-6,3) cutout mixup C10 test acc (%)
preresnet20 250 91.88
preresnet20 250 92.13
preresnet20 250 92.44
preresnet20 250 93.30
preresnet110 250 94.24
preresnet110 250 94.48
preresnet110 250 94.82
preresnet110 250 95.88

Acknowledgments

Provided codes were adapted from

Feel free to contact me if you have any suggestions or questions, issues are welcome,
create a PR if you find any bugs or you want to contribute. 😊

Citation

@misc{bigballon2019cifarzoo,
  author = {Wei Li},
  title = {CIFAR-ZOO: PyTorch implementation of CNNs for CIFAR dataset},
  howpublished = {\url{https://github.com/BIGBALLON/CIFAR-ZOO}},
  year = {2019}
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].