xboot/libonnx
A lightweight, portable pure C99 onnx inference engine for embedded devices with hardware acceleration support.
What it solves
Libonnx 提供了一种在资源受限且无法安装大型框架的嵌入式设备上运行 ONNX 模型推理的方法。它提供了一个轻量级、可移植的解决方案,可以直接集成到 C 项目中。
How it works
该库使用纯 C99 编写,允许开发者从文件或内存数组中加载 ONNX 模型。它使用基于上下文(context-based)的系统来管理模型、通过名称搜索输入和输出张量(tensors),并执行推理过程。它还通过解析器(resolver)系统支持硬件加速。
Who it’s for
需要在低功耗硬件上使用 ONNX 格式部署机器学习模型(such as MNIST or MobileNet)的嵌入式系统开发者。
Highlights
- Pure C99: 高度可移植,可以直接将 .c 和 .h 文件放入现有项目中。
- Hardware Acceleration: 通过解析器数组支持硬件加速。
- Embedded Friendly: 专为具有小占用空间(small footprint)的嵌入式设备设计。
- Modern ONNX Support: 基于 ONNX v1.17.0,支持 opset 24。