pypi ultralytics 8.4.144
v8.4.144 - Fix model loading, numerical edge cases, and CI setup (#26106)

4 hours ago

🌟 Summary

v8.4.144 improves model reliability, numerical stability, inference precision, and deployment workflows without changing model architectures. πŸš€

πŸ“Š Key Changes

  • More reliable model YAML loading 🧩
    Explicitly requested files such as custom26n.yaml are now loaded before attempting a scale-unified fallback like custom26.yaml. This prevents custom model definitions from being silently replaced.

  • Safer training and assignment edge cases πŸ›‘οΈ
    Empty-label batches now return correctly typed boolean foreground masks, keeping task-aligned assigners consistent with their normal output contract.

  • Stable CIoU calculations for reduced precision πŸ”’
    The overlap calculation now avoids NaN values and invalid gradients for identical FP16 and BF16 boxes, improving training stability on lower-precision hardware.

  • More efficient repeated model.to() calls ⚑
    Cached predictors are preserved when a model is already on the requested device or precision. This avoids unnecessary rebuilding, reducing latency and memory use during repeated inference setup.

  • Improved Triton FP32 behavior 🎯
    Triton client tensors now remain in FP32 even when quantize=16 is requested. This prevents unintended input rounding and output conversion on the client while leaving the server-side model precision unchanged.

  • Faster semantic segmentation mosaic loading πŸ–ΌοΈ
    Semantic masks for buffered mosaic images are now retained in RAM instead of being decoded repeatedly. Benchmarks showed approximately 1.26Γ— to 1.77Γ— faster data loading, depending on the configuration.

  • More flexible CLI configuration πŸ› οΈ
    Arguments provided before cfg=<file> are now preserved, and blank data values in copied configuration files correctly fall back to the task’s default dataset.

  • Broader OpenVINO/NNCF compatibility πŸ“¦
    The general upper version limit for NNCF has been removed, allowing newer NNCF 3.x releases with modern PyTorch and OpenVINO installations while retaining legacy restrictions where required.

  • More informative quantization documentation πŸ“š
    QAT versus post-training quantization results are now documented for YOLO26 models. The examples show that QAT provides little benefit for the smallest model but can recover substantially more INT8 accuracy for larger models.

  • More robust CI and test infrastructure βœ…
    CLA permissions were corrected, DEEPX export environments are skipped on machines with less than 15 GiB of RAM, and checkpoint corruption tests now work correctly with channels-last tensors.

  • Documentation maintenance πŸ”—
    The DL Streamer system requirements link was fixed, and the documentation license banner now uses a CDN-hosted asset.

🎯 Purpose & Impact

  • Users get more predictable model behavior, especially when working with custom YAML files or unusual training batches.
  • Training with FP16 or BF16 is more robust, reducing the risk of silent NaN values that can interrupt training or corrupt gradients.
  • Inference pipelines can be faster and lighter, particularly when repeatedly moving models between devices or processing semantic segmentation datasets with mosaic augmentation.
  • Triton deployments preserve the intended FP32 data path, helping maintain accuracy when the remote server uses FP32 inference.
  • INT8 deployment decisions are easier to make: QAT is most valuable for larger YOLO26 models or cases where calibration causes a noticeable accuracy drop, while smaller models may benefit little from the additional training cost.
  • Export and CI workflows are more dependable across hardware and software environments, with clearer handling of memory limitations and newer OpenVINO dependencies.

What's Changed

Full Changelog: v8.4.143...v8.4.144

Don't miss a new ultralytics release

NewReleases is sending notifications on new releases.