nnom logo

nnom

Free

A higher-level Neural Network library for microcontrollers.

FreeFree tier
Type
Open Source

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

Deploy Keras model to NNoM with one line of code
Supports complex architectures: Inception, ResNet, DenseNet, Octave Convolution
Recurrent layers (Simple RNN, GRU, LSTM) with stateful and return_sequence options
User-friendly structured layer interface (_s suffix) for machine-friendly configuration
Per-channel quantisation (per-axis) and dilation for convolutional layers
Onboard pre-compilation – zero interpreter performance loss at runtime
Built-in evaluation tools: runtime analysis, top-k, confusion matrix
Lightweight and optimised for microcontroller (MCU) deployment

Pros & Cons

Pros
  • 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
Cons
  • 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

Best For

Deploying neural network inference on resource-constrained microcontrollersEmbedded AI applications such as image classification, object detection, and sensor data processingPorting Keras models to MCU-based edge devices for real-time inference

FAQ

Is NNoM free to use?
Yes, NNoM is released under the Apache License 2.0 and is completely free and open source.
What types of neural network structures does NNoM support?
NNoM supports complex structures including Inception, ResNet, DenseNet, Octave Convolution, and recurrent layers (Simple RNN, GRU, LSTM).
How do I deploy a Keras model using NNoM?
You can deploy a Keras model to NNoM with a single line of code using the provided scripts (nnom.py for structured interface, nnom_utils.py for layer interface).