• Stars
    star
    253
  • Rank 160,776 (Top 4 %)
  • Language
    Python
  • Created over 4 years ago
  • Updated about 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

ReActNet: Towards Precise Binary NeuralNetwork with Generalized Activation Functions. In ECCV 2020.

ReActNet

This is the pytorch implementation of our paper "ReActNet: Towards Precise Binary NeuralNetwork with Generalized Activation Functions", published in ECCV 2020.

In this paper, we propose to generalize the traditional Sign and PReLU functions to RSign and RPReLU, which enable explicit learning of the distribution reshape and shift at near-zero extra cost. By adding simple learnable bias, ReActNet achieves 69.4% top-1 accuracy on Imagenet dataset with both weights and activations being binary, a near ResNet-level accuracy.

Citation

If you find our code useful for your research, please consider citing:

@inproceedings{liu2020reactnet,
  title={ReActNet: Towards Precise Binary Neural Network with Generalized Activation Functions},
  author={Liu, Zechun and Shen, Zhiqiang and Savvides, Marios and Cheng, Kwang-Ting},
  booktitle={European Conference on Computer Vision (ECCV)},
  year={2020}
}

Run

1. Requirements:

  • python3, pytorch 1.4.0, torchvision 0.5.0

2. Data:

  • Download ImageNet dataset

3. Steps to run:

(1) Step1: binarizing activations

  • Change directory to ./resnet/1_step1/ or ./mobilenet/1_step1/
  • run bash run.sh

(2) Step2: binarizing weights + activations

  • Change directory to ./resnet/2_step2/ or ./mobilenet/2_step2/
  • run bash run.sh

Models

Methods Top1-Acc FLOPs Trained Model
XNOR-Net 51.2% 1.67 x 10^8 -
Bi-Real Net 56.4% 1.63 x 10^8 -
Real-to-Binary 65.4% 1.83 x 10^8 -
ReActNet (Bi-Real based) 65.9% 1.63 x 10^8 Model-ReAct-ResNet
ReActNet-A 69.5% 0.87 x 10^8 Model-ReAct-MobileNet

Contact

Zechun Liu, HKUST (zliubq at connect.ust.hk)

Zhiqiang Shen, CMU (zhiqians at andrew.cmu.edu)