mit-han-lab/tinyengine
Free[NeurIPS 2020] MCUNet: Tiny Deep Learning on IoT Devices; [NeurIPS 2021] MCUNetV2: Memory-Efficient Patch-based Inference for Tiny Deep Learning; [NeurIPS 2022] MCUNetV3: On-Device Training Under 256KB Memory
About mit-han-lab/tinyengine
TinyEngine is a memory-efficient and high-performance neural network library for microcontrollers, developed as part of the MCUNet project at MIT HAN Lab. It is co-designed with TinyNAS to fit tight memory budgets, enabling tiny deep learning on IoT devices. The library supports both inference and on-device training under extreme memory constraints (e.g., under 256KB), with code generation for patch-based inference and tutorials for visual wake words, person detection, and face mask detection. TinyEngine has been published at NeurIPS 2020 (MCUNet), 2021 (MCUNetV2), and 2022 (MCUNetV3).
Key Features
Pros & Cons
- Memory-optimized for microcontrollers with limited RAM (e.g., 256KB)
- High-performance through co-design with TinyNAS
- Supports both inference and on-device training
- Open-source and actively maintained by MIT HAN Lab
- Includes practical demos and tutorials for real-world deployments
- Primarily targets ARM Cortex-M microcontrollers; limited portability to other architectures
- Requires familiarity with embedded systems and microcontroller programming
- Model support may be limited compared to full-scale deep learning frameworks
- Documentation and community support are centered around the academic project