Skip to content

feat(export): add YOLO26 support and refactor trtyolo-export#293

Merged
laugh12321 merged 5 commits into
exportfrom
feat/export-rework
Mar 20, 2026
Merged

feat(export): add YOLO26 support and refactor trtyolo-export#293
laugh12321 merged 5 commits into
exportfrom
feat/export-rework

Conversation

@laugh12321

Copy link
Copy Markdown
Owner

Summary

Closes #285.

This PR adds YOLO26 support to trtyolo-export. To make that support maintainable, it also reworks the exporter from
a monolithic implementation into a modular ONNX conversion pipeline.

What changed

  • add handler-based graph matching and rewrite flow for supported ONNX export patterns, including the YOLO26 family
  • split trtyolo-export into focused modules for pipeline orchestration, handlers, model I/O, plugin injection,
    logging, and shared utilities
  • simplify the CLI and improve output-path safety and conversion error reporting
  • refresh README.md and README.cn.md to document the v2 export workflow and YOLO26 support matrix
  • update package metadata and add PyPI/TestPyPI publishing workflows for the standalone exporter package

Why

Supporting YOLO26 cleanly in the previous exporter structure would keep increasing the complexity of the monolithic
conversion logic. This rework isolates model-family-specific rewrite logic, makes YOLO26 support easier to maintain,
and provides a cleaner base for future exporter updates.

- replace the legacy framework-specific export flow with an ONNX-first
conversion pipeline that rewrites exported models into TensorRT-YOLO
compatible outputs

- split the implementation into dedicated cli, pipeline, model_io, plugin,
handler, logging, type, and utility modules so the conversion flow is easier
to extend and maintain

- add handler abstractions and model-specific graph rewrite handlers for
classify, legacy Ultralytics heads, and nms-free output patterns

- remove the old head-based and PP-YOLOE-specific export path in favor of a
unified rewrite flow driven by graph inspection and TensorRT plugin
registration

- expose a cleaner package entrypoint with __main__ support and package-level
exports for CLI and future library-style usage
@laugh12321 laugh12321 self-assigned this Mar 20, 2026
@laugh12321 laugh12321 added enhancement New feature or request release labels Mar 20, 2026
sourcery-ai[bot]

This comment was marked as resolved.

@laugh12321 laugh12321 merged commit 412fa25 into export Mar 20, 2026
3 of 4 checks passed
@laugh12321 laugh12321 deleted the feat/export-rework branch March 20, 2026 16:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant