This example shows a minimal end-to-end luxonis-eval workflow that runs entirely on the host and does not require a Luxonis device.
The setup prepares everything needed for evaluation:
- downloads a
YOLOv8n-segONNX model from HubAI - downloads a small
COCO 2017sample throughFiftyOne - parses the dataset into Luxonis Data Format (
LDF) withluxonis_ml - runs instance segmentation evaluation with
ONNX Runtimeon CPU
Install luxonis_eval from the repository root (luxonis_ml and other dependencies are pulled in automatically), and fiftyone for dataset handling:
# luxonis_eval install
pip install .
# install fiftyone
pip install fiftyoneThe setup script also expects the following tools to be available in PATH:
wgettarfiftyone
From the repository root, run:
bash examples/quickstart_inst_seg/setup_example.shThis script:
- fetches a fresh signed download URL for the
YOLOv8n-segONNX model from HubAI - downloads and extracts the model into
examples/quickstart_inst_seg/models/ - downloads small
COCO 2017splits withFiftyOne - parses the dataset into
LDFascoco-2017
To force the model to be downloaded again, run:
bash examples/quickstart_inst_seg/setup_example.sh --forceAfter the setup completes, run:
luxonis_eval eval --config configs/yolov8n_inst_seg_config.yamlThis evaluates the model on the prepared dataset using ONNX Runtime with the CPU execution provider.
Model download
The script calls the HubAI API to retrieve a fresh signed URL for the YOLOv8n-seg ONNX archive, downloads it, extracts yolov8n-seg.onnx, and stores it under examples/quickstart_inst_seg/models/. If the model already exists locally, the download step is skipped unless --force is passed.
Dataset download
The script downloads small COCO 2017 splits through FiftyOne to keep the example lightweight. By default, the downloaded data is stored under ~/fiftyone/coco-2017/.
LDF parsing
Once the dataset is available locally, the script runs luxonis_ml data parse and creates an LDF dataset named coco-2017, which is then used by the evaluation config.