← all repositories
MatthieuCourbariaux/BinaryNet

Neural networks on a diet: everything becomes +1 or -1

A 2016 research artifact that showed you could train deep nets with binary weights and activations without the world ending.

BinaryNet
Velocity · 7d
+0.3
★ / day
Trend
steady
star history

What it does

BinaryNet is a reproduction package for a 2016 paper that trained deep neural networks where every weight and activation is forced to either +1 or -1. The repo splits into two parts: train-time code to reproduce the paper’s benchmarks, and run-time code with custom XNOR and baseline GPU kernels. It’s essentially a time capsule of an influential quantization idea.

The interesting bit

The real trick isn’t the binary constraint itself—it’s that the network still learns. The authors kept real-valued gradients for updates while binarizing for forward passes, a bit like having a secret cheat sheet you can’t actually use on the exam.

Key highlights

  • Reproduces experiments from the original BinaryNet paper (arXiv:1602.02830)
  • Includes custom GPU kernels using XNOR operations for the binary run-time
  • Split cleanly into train-time and run-time subrepositories
  • Written in Python, 1,066 stars, no stated dependencies or framework details in the README

Caveats

  • README is extremely terse: no installation instructions, no dependency list, no hardware requirements
  • No candidate images or screenshots provided, suggesting minimal maintenance
  • “Demonstrates” the kernels rather than claiming production readiness

Verdict

Worth a look if you’re researching neural network quantization or writing a literature review on extreme model compression. Skip it if you need something that runs out of the box in 2024—this is a research reproduction, not a maintained library.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.