Skip to content

with Chainer v3.1.0

Latest
Compare
Choose a tag to compare
@mitmul mitmul released this 06 Dec 06:05

Train various models on CIFAR10 with Chainer

Requirements

  • Python 3.5.1+ (not tested with Python2)
  • pip packages:
    • chainer>=3.1.0
    • chainercv>=0.8.0
    • numpy>=1.10.1
    • matplotlib>=2.0.0
    • scikit-image>=0.13.1
    • opencv-python>=3.3.0
    • tabulate>=0.8.2

Quick Start

MPLBACKEND=Agg python train.py

With full arguments:

MPLBACKEND=Agg python train.py \
--model_file models/wide_resnet.py \
--model_name WideResNet \
--batchsize 128 \
--training_epoch 500 \
--initial_lr 0.05 \
--lr_decay_rate 0.5 \
--lr_decay_epoch 70 \
--weight_decay 0.0005 \
--random_angle 15.0 \
--pca_sigma 25.5 \
--expand_ratio 1.2 \
--crop_size 28 28 \
--seed 0 \
--gpus 0 

About data augmentation

It performs various data augmentation using ChainerCV. Provided operations are:

  • Random rotating (using OpenCV or scikit-image)
  • Random lighting
  • Random LR-flipping
  • Random zomming (a.k.a. expansion)
  • Random cropping

See the details at transform function in train.py.

Exprimental Results

model_name val/main/accuracy epoch batchsize crop_size expand_ratio pca_sigma random_angle weight_decay initial_lr lr_decay_rate lr_decay_epoch
LeNet5 0.860166 500 128 [28, 28] 1.2 25.5 15 0.0005 0.01 0.5 50
NIN 0.879351 500 128 [28, 28] 1.2 25.5 15 0.0005 0.01 0.5 100
VGG 0.934237 500 128 [28, 28] 1.2 25.5 15 0.0005 0.05 0.5 50
ResNet50 0.950455 500 128 [28, 28] 1.2 25.5 15 0.0005 0.05 0.5 50
DenseNet 0.944818 500 128 [28, 28] 1.2 25.5 15 0.0005 0.05 0.5 50
WideResNet 0.962322 500 128 [28, 28] 1.2 25.5 15 0.0005 0.05 0.5 70