Skip to content

EngineOutput to normalize engine outputs#16

Draft
dtronmans wants to merge 16 commits into
develop-v0.1.0from
feat/abstract-engines
Draft

EngineOutput to normalize engine outputs#16
dtronmans wants to merge 16 commits into
develop-v0.1.0from
feat/abstract-engines

Conversation

@dtronmans

Copy link
Copy Markdown
Contributor

Purpose

  • Two main abstractions: EngineOutput (parser-facing, now the parsers have no information regarding which backend is supplying them) and TensorSpec / ModelSpec for resolved model I/O metadata.
  • ONNX engine and depthai engine now both return EngineOutput instead of their raw data they were previously returning (raw tensors or dai.NNData) and new implemented engines have to adapt this.
  • parsers now consume EngineOutput + ModelSpec: no longer dependent on engine-specific raw output types
  • luxonis-eval parsers call the compute() function of parsers in depthai-nodes instead of hand-written computation logic
  • Relies on this depthai-nodes code
  • Added example configs for the main tasks (keypoints, detection, semantic segmentation, classification)

Set to draft: 1) depends on depthai-nodes PR and 2) I need to generate different models by training them with LuxonisTrain, converting them to ONNX NNArchive and RVC4 NNArchive (FP16) and making sure the results are coherent between luxonis_train test ... and luxonis_eval eval .... Although this PR is supposed to only be architectural shouldn't change anything functionally, this is just to make sure since the computation now relies on the depthai-nodes parsers' compute. Then we can use these .ckpt/.onnx.tar.xz/.rvc4.tar.xz files later on for automatic E2E/regression testing.

Specification

None / not applicable

Dependencies & Potential Impact

None / not applicable

Deployment Plan

None / not applicable

Testing & Validation

None / not applicable

AI Usage

Assisted-by: AGENT_NAME:MODEL_VERSION [TOOL1] [TOOL2]

Submitted code was reviewed by a human: YES/NO

The author is taking the responsibility for the contribution: YES/NO

@dtronmans dtronmans marked this pull request as draft July 1, 2026 11:18
@coderabbitai

coderabbitai Bot commented Jul 1, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 2d490ee4-1c2d-45a6-bc25-eaf3b2114edd

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/abstract-engines

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@dtronmans dtronmans changed the title Feat/abstract engines EngineOutput to normalize engine outputs Jul 1, 2026
Comment thread luxonis_eval/engines/io.py Outdated
Comment thread luxonis_eval/parsers/detection.py Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants