pypi ultralytics 8.4.23
v8.4.23 - `ultralytics 8.4.23` Refactor `AutoBackend` into modular per-backend classes (#23790)

8 hours ago

🌟 Summary

Ultralytics v8.4.23 is mainly a big under-the-hood inference upgrade πŸš€: AutoBackend was fully redesigned into modular backend classes, making multi-format model deployment cleaner, easier to maintain, and more reliable across platforms.

πŸ“Š Key Changes

  • Major architecture refactor (PR #23790 by @Laughing-q) 🧩

    • AutoBackend moved from one large file to a modular backend system (ultralytics/nn/backends/).
    • Added dedicated backend classes for many runtimes: PyTorch, TorchScript, ONNX/IMX, OpenVINO, TensorRT, TensorFlow/TFLite, Paddle, NCNN, MNN, RKNN, Triton, ExecuTorch, Axelera, and CoreML.
    • Introduced a shared BaseBackend interface to standardize model loading, metadata handling, and forward inference behavior.
    • AutoBackend now uses a single format route + backend map instead of many backend boolean flags.
    • Inference call sites (predict/validate/solutions) were updated to align with the new format-driven backend behavior (channels, format, warmup paths, etc.).
    • Added extensive backend reference docs pages under docs/en/reference/nn/backends/.
  • Pose dataset conversion improvement (PR #23921 by @glenn-jocher) 🀸

    • NDJSON pose conversion can now infer missing kpt_shape automatically (when possible), instead of failing immediately.
    • Keeps strict validation for inconsistent or ambiguous keypoint data.
  • Docs correctness and usability fixes πŸ“š

    • Fixed broken anchor links in several docs pages (PR #23868).
    • Corrected cfg.md defaults for plots and save to True (PR #23917).
    • Removed outdated TensorRT INT8 β€œbatch doubling” documentation (PR #23911).
  • Docs/site maintenance and CI updates πŸ› οΈ

    • Updated docs JS dependencies (including chat.js and tablesort) (PR #23908).
    • Added Google Tag Manager to docs template (PR #23776).
    • Migrated print() to centralized LOGGER in docs reference builder (PR #23895).
    • Bumped Slack GitHub Action in workflows from v2.1.1 to v3.0.1 (PR #23910).

🎯 Purpose & Impact

  • For users deploying models in different formats 🌍
    This release should improve consistency and stability of inference behavior across backends, with fewer backend-specific surprises.

  • For developers and contributors πŸ‘©β€πŸ’»
    The modular backend design is a big win: easier to extend, debug, and maintain than a monolithic AutoBackend.

  • For pose dataset workflows πŸ“¦
    NDJSON conversion is more forgiving and practical, reducing friction when metadata is incomplete.

  • For documentation trustworthiness βœ…
    Multiple fixes make docs more accurate and navigable, reducing confusion around defaults and TensorRT calibration behavior.

Overall, v8.4.23 is a foundational engineering release: not a flashy model change, but a high-impact internal upgrade that strengthens the reliability of the Ultralytics inference stack over time.

What's Changed

New Contributors

Full Changelog: v8.4.22...v8.4.23

Don't miss a new ultralytics release

NewReleases is sending notifications on new releases.