Xingang Pan, Ping Luo, Jianping Shi, Xiaoou Tang. "Two at Once: Enhancing Learning and Generalization Capacities via IBN-Net", ECCV2018.
- IBN-Net carefully unifies instance normalization and batch normalization in a single deep network.
- It provides an extremely simple way to increase both modeling and generalization capacity without adding model complexity.
- Pytorch 0.3.1
Top1/Top5 error on the ImageNet validation set are reported. You may get different results when training your models with different random seed.
Model | origin | re-implementation | IBN-Net |
---|---|---|---|
DenseNet-121 | 25.0/- | 24.96/7.85 | 24.47/7.25 |
DenseNet-169 | 23.6/- | 24.02/7.06 | 23.25/6.51 |
ResNet-50 | 24.7/7.8 | 24.27/7.08 | 22.54/6.32 |
ResNet-101 | 23.6/7.1 | 22.48/6.23 | 21.39/5.59 |
ResNeXt-101 | 21.2/5.6 | 21.31/5.74 | 20.88/5.42 |
SE-ResNet-101 | 22.38/6.07 | 21.68/5.88 | 21.25/5.51 |
-
Clone the repository
git clone https://github.com/XingangPan/IBN-Net.git
-
Download ImageNet dataset (if you need to test or train on ImageNet). You may follow the instruction at fb.resnet.torch to process the validation set.
- Download our pre-trained models from Google Drive and save them to
./pretrained
. - Edit test.sh. Modify
model
anddata_path
to yours.
Options formodel
: densenet121_ibn_a, densenet169_ibn_a, resnet50_ibn_a_old, resnet50_ibn_a, resnet50_ibn_b, resnet101_ibn_a_old, resnet101_ibn_a, resnext101_ibn_a, se_resnet101_ibn_a.
(Note: For IBN-Net version of ResNet-50 and ResNet-101, our results in the paper are reported based on an slower implementation, corresponding to resnet50_ibn_a_old and resnet101_ibn_a_old here. We also provide a faster implementation, and the models are resnet50_ibn_a, resnet101_ibn_a, and all the rest. The top1/top5 error for resnet50_ibn_a and resnet101_ibn_a are 22.76/6.41 and 5.61/21.29 respectively.) - Run test script
sh test.sh
- Edit train.sh. Modify
model
anddata_path
to yours. - Run train script
sh train.sh
This code is modified from bearpaw/pytorch-classification.
https://github.com/bruinxiong/IBN-Net.mxnet
@inproceedings{pan2018IBN-Net,
author = {Xingang Pan, Ping Luo, Jianping Shi, and Xiaoou Tang},
title = {Two at Once: Enhancing Learning and Generalization Capacities via IBN-Net},
booktitle = {ECCV},
year = {2018}
}