Binary Neural Networks

A small helper framework for training binary networks is available on github and can be installed using pip or conda:

Using pip Using conda
pip install bnn conda install -c 1adrianb bnn

For more details regarding usage and features please visit the repository page.

Note: Code for the "High-Capacity Expert Binary Networks" paper is available here.

What are Binary Neural Networks?

Binary Neural Networks (BNNs) are neural networks whose convolutional and/or linear layers are operating using data represented on a single bit. Note, that typically not all operations are binary and current approaches make use of full precision normalization layers. Thanks to binarization, layers quantized to such degree can replace all their multiplications with bitwise operations while the weights themselves can be compressed to a factor of x32 via bit-packing.