uTensor logo

uTensor

Free

AI inference library based on mbed (an RTOS for ARM chipsets) and TensorFlow.

FreeFree tier
Type
Open Source

About uTensor

uTensor is an extremely lightweight machine learning inference framework built on TensorFlow and optimized for Arm targets. It consists of a runtime library and an offline tool that translates trained TensorFlow models into C++11 code (.cpp and .hpp files) for embedded inferencing. The core runtime is only about 2KB in size, with a memory footprint of approximately 1275 bytes of text, 4 bytes of data, and 28 bytes of BSS. The framework emphasizes system safety through dedicated memory regions for tensor metadata and data, eliminating heap sharing and enabling safe remote model updates. It also prioritizes compile-time error checking to catch mismatched inputs, outputs, and invalid memory accesses. uTensor includes tutorials for error handling and custom operators, and its rearchitecture focuses on low power consumption, small dynamic footprint, and debuggable code.

Key Features

Extremely lightweight core runtime (~2KB)
Optimized for Arm microcontrollers
Offline tool translates TensorFlow models into C++11 code (.cpp/.hpp)
Safe memory management with dedicated memory regions (no heap sharing)
Compile-time error checking for mismatched inputs/outputs and memory access
Supports error handling and custom operator implementations
Low static and dynamic footprint for resource-constrained devices

Pros & Cons

Pros
  • Extremely small memory footprint (~2KB core runtime) suitable for constrained devices
  • Safe runtime design prevents memory collisions and enables reliable remote updates
  • Compile-time error detection reduces runtime bugs and debugging effort
  • Easy integration with existing Arm-based embedded projects via generated C++ files
  • Open source and free to use (MIT license)
Cons
  • Only supports Arm target architectures (no other MCU families)
  • Requires TensorFlow for model training and export; no alternative frontends
  • Relatively small community and ecosystem compared to larger frameworks like TensorFlow Lite Micro
  • May have a limited set of built-in operators; custom operators may be needed for some models

Best For

TinyML inference on Arm Cortex-M microcontrollersDeploying trained neural networks on embedded devicesEdge AI applications requiring minimal memory and power consumptionSafe over-the-air model updates on embedded systems

FAQ

What is uTensor?
uTensor is an extremely light-weight machine learning inference framework built on TensorFlow and optimized for Arm targets. It consists of a runtime library and an offline tool that handles model translation into C++ code.
How does the uTensor workflow work?
A model is constructed and trained in TensorFlow. uTensor takes the model and produces .cpp and .hpp files containing generated C++11 code needed for inferencing on the embedded device.
What hardware is uTensor designed for?
uTensor is optimized for Arm targets, specifically Arm microcontrollers running mbed OS or similar RTOS environments.
Is uTensor free and open source?
Yes, uTensor is open source under the MIT license and free to use. The source code is hosted on GitHub.