Skip to content

OAAX Examples v2.0.0

Latest

Choose a tag to compare

@ayoubassis ayoubassis released this 29 Oct 15:42
· 7 commits to main since this release
66fa557

OAAX Examples 2.0.0

A standalone example of how to use an OAAX 2.0 runtime from an application. It has no dependency on other OAAX repositories or git submodules.

What's in it

  • c-example: a C program that loads an OAAX 2.0 runtime library, loads a model, sends 10 inference requests (runtime_init, runtime_load_models, runtime_enqueue_input, runtime_retrieve_output, runtime_cleanup), matches every output to its request by Tensors.id and prints the detections. It exits with a non-zero code if anything fails.
  • Included in the repository: the OAAX 2.0 interface header, a face detection model (model.onnx), a test image and the OAAX 2.0 CPU runtime for Linux x86_64, Linux aarch64 and Windows x86_64.
  • Build and run: bash c-example/build-run.sh (Linux) or c-example\build-run.bat (Windows).

What's new in 2.0

  • The example uses the OAAX 2.0 runtime API (it was written for 1.x before).
  • Breaking: the example no longer works with 1.x runtimes.
  • The repository is standalone: the c-utilities and other submodules are gone.
  • The 1.x yolov8-inference and ultralytics-inference examples are removed.
  • CI no longer checks out submodules; clang-format also checks .c files.

Use another accelerator

Convert the model with that chip's toolchain and pass its runtime library to the program. Releases:
CPU, NVIDIA, Hailo, Intel, DEEPX. Walkthrough: Getting Started. Specification: OAAX Specification v2.0.0.

Known limits

  • Verified on Linux x86_64 locally; aarch64 and Windows are covered by CI only.
  • The example's model reading (tensor names, pre- and post-processing) belongs to its demo model. OAAX itself does not define a model contract.

Release notes drafted with AI assistance (Claude).