pypi ultralytics 8.4.73
v8.4.73 - Calibrate INT8 on CPU for RTX (NvTensorRTRTX) cards (#24878)

latest releases: 8.4.75, 8.4.74
11 hours ago

🌟 Summary

Ultralytics v8.4.73 is a stability-focused release that mainly improves INT8 TensorRT export reliability on RTX GPUs πŸ› οΈβš‘, while also fixing a memory issue in predict(), improving input order handling, and polishing examples and docs.

πŸ“Š Key Changes

  • Major fix: safer INT8 calibration on RTX GPUs πŸš€

    • The most important update is from PR #24878 by @glenn-jocher.
    • When exporting TensorRT engines with int8=True, RTX cards using the NvTensorRTRTXExecutionProvider now perform calibration on the CPU instead of cuda:0.
    • This avoids crashes caused by execution provider conflicts and cuDNN compatibility mismatches during calibration.
    • Important detail: this does not change the final INT8 engine quality or behaviorβ€”only the calibration path is changed to make export more reliable.
  • Fix for out-of-memory errors when predicting from large file-path lists πŸ’Ύ

    • PR #24866 fixes a case where passing a large Python list of image paths to model.predict() could load too much into memory and trigger GPU OOM.
    • Local path lists are now handled lazily, so batching works as expected instead of trying to process everything at once.
  • Prediction input order is now preserved πŸ“‚

    • File lists passed in by users are no longer auto-sorted before loading.
    • This means results now follow the same order as the input list, which is especially helpful for pipelines that depend on exact input-output alignment.
  • Better error handling in the OpenCV ONNX example πŸ–ΌοΈ

    • PR #24872 adds a clear FileNotFoundError if an image path is missing or unreadable.
    • This replaces a more confusing later-stage failure.
  • Small documentation and comment cleanups ✍️

    • PR #24881 improves wording in YOLO-World docs and SAM comments.
    • PR #24821 fixes the QueueManager doc example so copied code uses the correct region format.
    • These changes do not alter runtime behavior, but they make docs easier to follow.
  • CI installation step made more resilient πŸ”

    • The release also adds retries to a dependency installation step in CI, helping reduce flaky build failures.

🎯 Purpose & Impact

  • More dependable INT8 export on RTX hardware βœ…

    • Users exporting TensorRT INT8 models on some RTX GPUs should see fewer crashes and failed exports.
    • This is especially valuable for deployment workflows where export stability matters more than raw calibration speed.
  • No model accuracy change from the RTX calibration fix 🎯

    • The calibration now runs on CPU for affected RTX setups, but the resulting INT8 engine should remain effectively the same.
    • In short: same intended output, fewer headaches.
  • Better scalability for large inference jobs πŸ“ˆ

    • If you run predict() on long image lists, memory use should be much more manageable.
    • This can prevent unnecessary GPU OOM issues and make large batch workflows more practical.
  • More predictable automation workflows πŸ€–

    • Preserving user-supplied file order helps when mapping predictions back to source files in scripts, apps, and data pipelines.
  • Friendlier debugging and onboarding πŸ™Œ

    • Clearer example errors and cleaner docs reduce friction for newer users and save time for experienced developers.

Overall, v8.4.73 is less about new models and more about making export, inference, and examples more robust and predictableβ€”with the standout improvement being INT8 TensorRT export stability on RTX cards ⚑

What's Changed

New Contributors

Full Changelog: v8.4.72...v8.4.73

Don't miss a new ultralytics release

NewReleases is sending notifications on new releases.