Implementation of GoogLeNet by chainer
git clone https://github.com/nutszebra/googlenet.git
cd googlenet
git submodule init
git submodule update
python main.py -p ./ -g 0
Data augmentation
Train: Pictures are randomly resized in the range of [256, 512], then 224x224 patches are extracted randomly and are normalized locally. Horizontal flipping is applied with 0.5 probability.
Test: Pictures are resized to 384x384, then they are normalized locally. Single image test is used to calculate total accuracy.
Auxiliary classifiers
No implementation
Learning rate
As [1] said, learning rate are multiplied by 0.96 at every 8 epochs. The description about initial learning rate can't be found in [1], so initial learning is setted as 0.0015 that is found in [2].
Weight decay
The description about weight decay can't be found in [1], so by using [2] and [3] I guessed that weight decay is 2.0*10^-4.
network | depth | total accuracy (%) |
---|---|---|
my implementation | 22 | 91.33 |
Going Deeper with Convolutions [1]
Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift [2]
Rethinking the Inception Architecture for Computer Vision [3]