Home

Awesome

What's this

Implementation of Squeeze and Excitation Networks (SENets) [2] by chainer

Dependencies

git clone https://github.com/nutszebra/SENets.git
cd SENets
git submodule init
git submodule update
# Note: chainer==1.24.0

How to run

 # for SENets with compression rate 8
 python main_se_residual_net.py -g 0 -p ./result_senet_8 -e 250 -b 64 -lr 0.1 -k 1 -n 18 -multiplier 4 -r 8
  # for SENets with compression rate 16
 python main_se_residual_net.py -g 0 -p ./result_senet_16 -e 250 -b 64 -lr 0.1 -k 1 -n 18 -multiplier 4 -r 16
 # for resnet
 python main_residual_net.py -g 0 -p ./result_resnet -e 250 -b 64 -lr 0.1 -k 1 -n 18 -multiplier 4

Details about my implementation

Cifar10 result

networkdepthCompression Rate: rParameters (M)total accuracy (%)
SEResNet (my implementation) [2]164 + 10882.095.69
SEResNet (my implementation) [2]164 + 108161.895.91
ResNet [1]1641.61.794.54
ResNet (my implementation)[1]1641.61.795.48

Compression Rate: 8

<img src="https://github.com/nutszebra/SENets/blob/master/result_senet_8/loss.jpg" alt="loss" title="loss"> <img src="https://github.com/nutszebra/SENets/blob/master/result_senet_8/accuracy.jpg" alt="total accuracy" title="total accuracy">

Compression Rate: 16

<img src="https://github.com/nutszebra/SENets/blob/master/result_senet_16/loss.jpg" alt="loss" title="loss"> <img src="https://github.com/nutszebra/SENets/blob/master/result_senet_16/accuracy.jpg" alt="total accuracy" title="total accuracy">

ResNet:

<img src="https://github.com/nutszebra/SENets/blob/master/result_resnet/loss.jpg" alt="loss" title="loss"> <img src="https://github.com/nutszebra/SENets/blob/master/result_resnet/accuracy.jpg" alt="total accuracy" title="total accuracy">

References

Identity Mappings in Deep Residual Networks [1]

Squeeze-and-Excitation Networks [2]

Improved Regularization of Convolutional Neural Networks with Cutout [3]