xboot/libonnx
A lightweight, portable pure C99 onnx inference engine for embedded devices with hardware acceleration support.
What it solves
Libonnx provides a way to run ONNX model inference on embedded devices where resources are limited and heavy frameworks cannot be installed. It offers a lightweight, portable solution that can be integrated directly into C projects.
How it works
Written in pure C99, the library allows developers to load an ONNX model from a file or a memory array. It uses a context-based system to manage the model, search for input and output tensors by name, and execute the inference process. It also supports hardware acceleration through a resolver system.
Who it’s for
Embedded systems developers who need to deploy machine learning models (such as MNIST or MobileNet) on low-power hardware using the ONNX format.
Highlights
- Pure C99: Highly portable and can be dropped directly into existing projects as .c and .h files.
- Hardware Acceleration: Supports hardware acceleration via a resolver array.
- Embedded Friendly: Designed specifically for embedded devices with a small footprint.
- Modern ONNX Support: Based on ONNX v1.17.0 with support for opset 24.