Giter VIP home page Giter VIP logo

htqin / bibench Goto Github PK

View Code? Open in Web Editor NEW
47.0 2.0 3.0 113 KB

This project is the official implementation of our accepted ICML 2023 paper BiBench: Benchmarking and Analyzing Network Binarization.

Home Page: https://htqin.github.io/Projects/BiBench/

Python 99.69% Shell 0.31%
benchmark binarization binarized-neural-networks icml-2023 model-compression binary-neural-networks model-quantization

bibench's Introduction

BiBench: Benchmarking and Analyzing Network Binarization

Created by Haotong Qin*, Mingyuan Zhang*, Yifu Ding, Aoyu Li, Fisher Yu, and Xianglong Liu from Beihang University, Nanyang Technological University, and ETH Zurich.

prediction example

Introduction

This project is the official implementation of our accepted ICML 2023 paper BiBench: Benchmarking and Analyzing Network Binarization [PDF] [Doc]. Network binarization emerges as one of the most promising compression approaches offering extraordinary computation and memory savings by minimizing the bit-width. However, recent research has shown that applying existing binarization algorithms to diverse tasks, architectures, and hardware in realistic scenarios is still not straightforward. Common challenges of binarization, such as accuracy degradation and efficiency limitation, suggest that its attributes are not fully understood. To close this gap, we present BiBench, a rigorously designed benchmark with in-depth analysis for network binarization. We first carefully scrutinize the requirements of binarization in the actual production and define evaluation tracks and metrics for a comprehensive and fair investigation. Then, we evaluate and analyze a series of milestone binarization algorithms that function at the operator level and with extensive influence. Our benchmark reveals that 1) the binarized operator has a crucial impact on the performance and deployability of binarized networks; 2) the accuracy of binarization varies significantly across different learning tasks and neural architectures; 3) binarization has demonstrated promising efficiency potential on edge devices despite the limited hardware support. The results and analysis also lead to a promising paradigm for accurate and efficient binarization. We believe that BiBench will contribute to the broader adoption of binarization and serve as a foundation for future research.

Implementation

BiBench: the main code repo of our bibench, researchers can easily implement and test binarization algorithms in various evaluation tracks.

Libraries: the implementation of several basic (full-precision) learning tasks, support the comprehensive evaluation on learning tasks and neural architectures.

Full Doc

The detailed introduction and tutorial of out benchmark, you can directly browse the content from the index page.

Citation

If you find our work useful in your research, please consider citing:

@inproceedings{qin2023bibench,
  author    = {Haotong Qin and Mingyuan Zhang 
  and Yifu Ding and Aoyu Li and Ziwei Liu 
  and Fisher Yu and Xianglong Liu},
  title     = {BiBench: Benchmarking and Analyzing Network Binarization},
  booktitle = {ICML},
  year      = {2023}
}

bibench's People

Contributors

htqin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

bibench's Issues

No pretrain file

I ran train.py with a config file as below
python tools/train.py resnet18_bireal_adam_1e-3_cosinelr.py
but error like this come out
FileNotFoundError: data/pretrained/res18_cifar10.pth can not be found.
which means that I need a pretrain file in designated spot for there are codes like this in the config file
init_cfg=dict(type='Pretrained', checkpoint='data/pretrained/res18_cifar10.pth')
But there are no such file and I can not find such file on the Internet.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.