mit-han-lab/once-for-all
A progressive shrinking approach to train one flexible network that can be specialized for diverse deployment constraints.

Once-for-All trains a single large neural network that can be specialized into many sub-networks optimized for different hardware platforms (e.g., mobile CPUs, GPUs, FPGAs) and latency constraints. The approach uses progressive shrinking to progressively train sub-networks with different widths, depths, and resolutions, enabling efficient deployment without retraining. It has been adopted by Sony, Maxim Integrated (for TinyML chips), and Alibaba, winning multiple computer vision challenges.
Frequently asked
- What is mit-han-lab/once-for-all?
- A progressive shrinking approach to train one flexible network that can be specialized for diverse deployment constraints.
- Is once-for-all open source?
- Yes — mit-han-lab/once-for-all is open source, released under the MIT license.
- What language is once-for-all written in?
- mit-han-lab/once-for-all is primarily written in Python.
- How popular is once-for-all?
- mit-han-lab/once-for-all has 2k stars on GitHub.
- Where can I find once-for-all?
- mit-han-lab/once-for-all is on GitHub at https://github.com/mit-han-lab/once-for-all.