/pytorch-cifar10

practice on CIFAR10 with PyTorch

Primary LanguagePythonApache License 2.0Apache-2.0

pytorch-cifar10

Personal practice on CIFAR10 with PyTorch
Inspired by pytorch-cifar by kuangliu.

Introduction

The CIFAR-10 dataset consists of 60000 32x32 colour images in 10 classes, with 6000 images per class. There are 50000 training images and 10000 test images.

The dataset is divided into five training batches and one test batch, each with 10000 images. The test batch contains exactly 1000 randomly-selected images from each class. The training batches contain the remaining images in random order, but some training batches may contain more images from one class than another. Between them, the training batches contain exactly 5000 images from each class.

Requirement

  • python3.6
  • numpy
  • pytorch 0.4.0
  • torchvision 0.2.0

Usage

python3 main.py

optional arguments:

--lr                default=1e-3    learning rate
--epoch             default=200     number of epochs tp train for
--trainBatchSize    default=100     training batch size
--testBatchSize     default=100     test batch size

Configs

200 epochs for each run-through,
500 batches for each training epoch,
100 batches for each validating epoch,
100 images for each training and validating batch

Learning Rate

1e-3 for [1,74] epochs
5e-4 for [75,149] epochs
2.5e-4 for [150,200) epochs

Result

Models Accuracy Comments
LeNet 67.52% - - - -
Alexnet 74.74% Result is far away from my expectation (5%+). Reasons might be inappropriate modification to fit dataset(32x32 images).
VGG11 87.48% - - - -
VGG13 90.17% - - - -
VGG16 TBD - - - -
VGG19 TBD - - - -
GoogleNet 92.57% - - - -
ResNet18 TBD - - - -
ResNet34 TBD - - - -
ResNet50 TBD - - - -
ResNet101 TBD - - - -
ResNet152 TBD - - - -
DenseNet121 TBD - - - -
DenseNet161 TBD - - - -
DenseNet169 TBD - - - -
DenseNet201 TBD - - - -