Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Track Ultralytics stream=True inference over iterator consumption

Đang mở
#85 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
45/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
python
Lĩnh vực
observability

Hướng nghiên cứu

Read the Ultralytics adapter and the shared SyncStreamWrapper introduced in #82, then compare the eager predict() coverage in #84. Trace how streamed results are consumed and finalized; preserve lazy iteration and keep result interpretation in the adapter. Done means both entry points emit one consumption-aware event on exhaustion, close, or error, with bounded metadata and compatibility tests for supported Ultralytics versions.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Current behavior

Ultralytics/YOLO returns a lazy results iterator for model.predict(..., stream=True) and model(..., stream=True). Inference runs as the application consumes it, but the current integration records success and duration when the iterator is returned. This can report success before inference runs, omit detection/classification output metadata, and miss failures during iteration.

PR #84 fixes eager predict() entry-point coverage; it does not address lazy streaming lifecycle tracking.

Possible approach

Reuse the shared SyncStreamWrapper introduced in #82 for iteration timing, exactly-once finalization, closure/error handling, trace correlation, and telemetry failure isolation. Keep YOLO result interpretation in the Ultralytics adapter through integration-specific callbacks.

A proposed starting contract is one inference event per streamed prediction call, finalized when the iterator is exhausted or explicitly closed, with bounded aggregation of available detection/classification metadata. Do not retain every result or consume the iterator ahead of the application. Per-frame events would be a separate design decision.

Verification when implemented

  • Creating a lazy iterator emits no premature successful inference event.
  • Exhaustion records one event with consumption-aware duration and available result metadata.
  • Early closure and iteration errors finalize once without changing application behavior.
  • Both entry points behave consistently, with no duplicate events.
  • Real supported Ultralytics versions are covered by compatibility tests.

This is a known coverage gap to track for future demand; no user has requested streaming support yet. It is not a prerequisite for the eager-call fix in #84.

Ngôn ngữ chính
Python
Star
17
Fork
1
Merge trung bình
1 giờ 48 phút
Pull request đã merge (30 ngày)
23

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của wild-edge/wildedge-python

Tất cả issue của wild-edge/wildedge-python

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.