nnom
FreeA higher-level Neural Network library for microcontrollers.
About nnom
NNoM (Neural Network on Microcontroller) is a high-level inference neural network library specifically designed for microcontrollers. It enables seamless deployment of complex neural network architectures—such as Inception, ResNet, DenseNet, and Octave Convolution—from Keras models using a single line of code. The library features a user-friendly interface, high-performance backend selections, and onboard pre-compilation that eliminates runtime interpreter overhead. It also provides built-in evaluation tools including runtime analysis, top-k accuracy, and confusion matrix. Recent updates (v0.4.x) add support for recurrent layers (Simple RNN, GRU, LSTM), a structured layer interface, and per-channel quantisation for convolutional layers. NNoM is released under the Apache 2.0 license.
Key Features
Pros & Cons
- High-level API simplifies deployment from Keras models
- Supports a wide range of complex neural network architectures
- Zero runtime interpreter overhead due to pre-compilation
- Includes comprehensive evaluation tools (runtime analysis, confusion matrix)
- Open source under Apache 2.0 license with active community development
- Limited to inference only (no training capabilities)
- Primarily targeted at microcontrollers, not suitable for general-purpose hardware
- Smaller community and ecosystem compared to mainstream frameworks like TensorFlow Lite Micro