Skip to content

ASI-SX/attention_branch_network

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Attention Branch Network

Writer : Hiroshi Fukui

Abstract

This repository contains the source code of Attention Branch Network for image classification. The attention branch network is designed to extend the top-down visual explanation model by introducing a branch structure with an attention mechanism. ABN improves CNN’s performance and visual explanation at the same time by gnerating attention maps in the forward pass. This link is the arXiv paper.

Citation

@article{fukui2018,
	author = {Hiroshi Fukui and Tsubasa Hirakawa and Takayoshi Yamashita and Hironobu Fujiyoshi},
	title = {Attention Branch Network: Learning of Attention Mechanism for Visual Explanation},
	journal = {Computer Vision and Pattern Recognition},
	year = {2019},
	pages = {10705-10714}
}
@article{fukui2018,  
	author = {Hiroshi Fukui and Tsubasa Hirakawa and Takayoshi Yamashita and Hironobu Fujiyoshi},  
	title = {Attention Branch Network: Learning of Attention Mechanism for Visual Explanation},  
	journal = {arXiv preprint arXiv:1812.10025},  
	year = {2018}  
}  

Detail

Our source code is based on https://github.com/bearpaw/pytorch-classification/ with PyTorch. Requirements of PyTorch version is as follows, and we published the Docker file. If you need the Docker, please use our Dockerfile.

  • PyTorch : 0.4.0
  • PyTorch vision : 0.2.1

Example of run command is as follows, but if you try the other models or ImageNet, please refer the README at https://github.com/bearpaw/pytorch-classification/blob/master/TRAINING.md.

  • Training

python cifar.py -a resnet --dataset cifar100 --depth 110 --epochs 300 --schedule 150 225 --gamma 0.1 --wd 1e-4 --checkpoint checkpoints/cifar100/resnet-110 --gpu-id 0,1

python imagenet.py -a resnet152 --data ../../../../dataset/imagenet_data/ --epochs 90 --schedule 31 61 --gamma 0.1 -c checkpoints/imagenet/resnet152 --gpu-id 0,1,2,3 --test-batch 100

  • Evaluation

python cifar.py -a resnet --dataset cifar100 --depth 110 --epochs 300 --schedule 150 225 --gamma 0.1 --wd 1e-4 --checkpoint checkpoints/cifar100/resnet-110 --gpu-id 0,1 --evaluate --resume checkpoints/cifar100/resnet-110/model_best.pth.tar

python imagenet.py -a resnet152 --data ../../../../dataset/imagenet_data/ --epochs 90 --schedule 31 61 --gamma 0.1 -c checkpoints/imagenet/resnet152 --gpu-id 4,5,6 --test-batch 10 --evaluate --resume checkpoints/imagenet/resnet152/model_best.pth.tar

Additionally, we have published the model files of ABN, which are ResNet family models on CIFAR100 and ImageNet2012 dataset.

Models on CIFAR100 Dataset

Models on ImageNet2012 Dataset

Performance of the ABN on CIFAR100

top-1 error (ABN) top-1 error (original)
ResNet110 22.5 24.1
DenseNet 21.6 22.5
Wide ResNet 18.1 18.9
ResNeXt 17.7 18.3

Performance of the ABN on ImageNet2012

top-1 error (ABN) top-1 error (original)
ResNet50 23.1 24.1
ResNet101 21.8 22.5
ResNet152 21.4 22.2

Example of Attention map

overview image

About

Attention Branch Network (CIFAR100, ImageNet models)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%