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 モデルをロードできることを可能にします。コンテキストベースのシステムを使用してモデルを管理し、名前によって入力および出力テンソルを検索し、推論プロセスを実行します。また、リゾルバーシステムを通じてハードウェア加速をサポートします。

Who it’s for

ONNX 形式を使用して、低電力ハードウェア上で機械学習モデル(MNIST や MobileNet など)をデプロイしたい組み込みシステム開発者。

Highlights

  • Pure C99: 高度な移植性があり、既存のプロジェクトに .c と .h ファイルとして直接追加できます。
  • Hardware Acceleration: リゾルバー配列を介してハードウェア加速をサポートします。
  • Embedded Friendly: 小さなフットプリントで、組み込みデバイス向けに特別に設計されています。
  • Modern ONNX Support: ONNX v1.17.0 に基づいており、opset 24 をサポートしています。