Skip to content

Exported backends have no track(), and there is no libreyolo track CLI #1029

Closed

Description

@EHxuban11

What happened

track() only exists on native PyTorch models (BaseModel.track in libreyolo/models/base/model.py). None of the exported-runtime backends implement it (ONNX, TensorRT, OpenVINO, TFLite, CoreML, NCNN, MNN, Paddle, ExecuTorch, TorchScript, and the upcoming Axelera backend), so tracking with an exported model fails. There is also no libreyolo track CLI command. Exported models already support predict, val and streaming, so tracking is the remaining gap versus the de-facto YOLO API.

Reproduce

from libreyolo import LibreYOLO
m = LibreYOLO("<model>.onnx")   # any exported artifact
m.track("video.mp4")

Output

AttributeError: 'OnnxBackend' object has no attribute 'track'. Did you mean: 'task'?
$ libreyolo track --help
Error: No such command 'track'.

Proposal

Add track() to BaseBackend, reusing the existing libreyolo/tracking trackers on top of backend predict/stream (mirroring BaseModel.track), so every exported format gets it at once, plus a libreyolo track CLI verb. Found while adding the Axelera Metis backend (#969); that PR documents track() as native-only until this lands.

Environment

libreyolo 1.7.2.dev0 (dev @ e12d8fa), Python 3.12.3, torch 2.9.1+cpu, Ubuntu 24.04 x86_64

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions