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 格式在低功耗硬體上部署機器學習模型(例如 MNIST 或 MobileNet)的嵌入式系統開發人員。
Highlights
- Pure C99: 高度可移植,可以直接將 .c 和 .h 檔案放入現有專案中。
- Hardware Acceleration: 透過解析器陣列支援硬體加速。
- Embedded Friendly: 專為具有小佔用空間(small footprint)的嵌入式設備設計。
- Modern ONNX Support: 基於 ONNX v1.17.0,支援 opset 24。