pypi ultralytics 8.4.126
v8.4.126 - Make restricted checkpoint loading thread-safe and 40% faster, simplify RLE prior (#25885)

10 hours ago

🌟 Summary

v8.4.126 makes restricted checkpoint loading safer and up to 40% faster in concurrent environments, while simplifying RLE loss calculations and preserving backward compatibility.

📊 Key Changes

  • 🔒 Thread-safe restricted checkpoint loading

    • Fixed a race condition when multiple threads loaded PyTorch checkpoints with restricted loading enabled.
    • The shared allow-list is now registered for the process lifetime instead of being temporarily removed when one thread finishes.
    • Added a regression test covering 32 concurrent restricted loads.
  • Faster restricted model loading

    • Only checkpoint globals actually referenced by a file are registered, rather than rebuilding a large allow-list for every load.
    • This reduces restricted-loading overhead by approximately 40% in affected cases.
  • 🛡️ Improved compatibility with secure loading

    • Restricted loading now requires PyTorch functionality available from version 2.6 onward; older versions continue to fall back to standard loading behavior.
    • Normal, unrestricted loading remains unchanged.
    • Official YOLO26 checkpoints, including YOLO26x, are protected from failures caused by concurrent loading.
  • 🧠 Simplified RLE prior calculation

    • Replaced the runtime multivariate distribution object with a simpler closed-form implementation.
    • Retained existing checkpoint buffers so models saved before v8.4.126 can still resume correctly.
    • Improved numerical behavior under mixed-precision training.
  • 🏷️ Version update

    • Updated the Ultralytics package version from 8.4.125 to 8.4.126.

🎯 Purpose & Impact

  • More reliable production inference: Multi-threaded services and Platform CPU workers can load models concurrently without intermittent checkpoint errors.
  • 🚀 Reduced startup and loading time: Restricted checkpoint loading performs less unnecessary work, benefiting applications that frequently load models.
  • 🔐 Maintained security benefits: Safe loading continues to limit checkpoint reconstruction to known, approved classes.
  • 🔄 Backward compatible: Existing unrestricted workflows and older saved model checkpoints continue to work as before.
  • 📉 Cleaner internal implementation: The RLE change removes unnecessary distribution-object overhead without changing the intended loss behavior.

What's Changed

  • Make restricted checkpoint loading thread-safe and 40% faster, simplify RLE prior by @pderrenger in #25885

Full Changelog: v8.4.125...v8.4.126

Don't miss a new ultralytics release

NewReleases is sending notifications on new releases.