hyseob / Batch-Instance-Normalization

Batch-Instance Normalization (BIN)
MIT License
79 stars 17 forks source link

Batch-Instance-Normalization

This repository provides an example of using Batch-Instance Normalization (NIPS 2018) for classification on CIFAR-10/100, written by Hyeonseob Nam and Hyo-Eun Kim at Lunit Inc.

Acknowledgement: This code is based on Wei Yang's pytorch-classification

Citation

If you use this code for your research, please cite:

@inproceedings{nam2018batch,
  title={Batch-Instance Normalization for Adaptively Style-Invariant Neural Networks},
  author={Nam, Hyeonseob and Kim, Hyo-Eun},
  booktitle={Advances in Neural Information Processing Systems},
  year={2018}
}

Prerequisites

Training Examples

Training ResNet-50 on CIFAR-100 using Batch Normalization

python main.py --dataset cifar100 --depth 50 --norm bn --checkpoint checkpoints/cifar100-resnet50-bn

Training ResNet-50 on CIFAR-100 using Instance Normalization

python main.py --dataset cifar100 --depth 50 --norm in --checkpoint checkpoints/cifar100-resnet50-in

Training ResNet-50 on CIFAR-100 using Batch-Instance Normalization

python main.py --dataset cifar100 --depth 50 --norm bin --checkpoint checkpoints/cifar100-resnet50-bin

Summary of Results

  1. Classification on CIFAR-10/100 (ResNet-110) and ImageNet (ResNet-18)

  2. Classification on CIFAR-100 with different architectures

  3. Mixed-domain classification on Office-Home (ResNet-18)

  4. Character recognition on ICDAR2003, ICDAR2005, and Chars74K

Links