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: 적은 용량(small footprint)을 위해 임베디드 장치에 특셉하게 설계되었습니다.
  • Modern ONNX Support: ONNX v1.17.0을 기반으로 하며 opset 24를 지원합니다.