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를 지원합니다.