pypi ultralytics 8.4.85
v8.4.85 - Fix TAL OOM recovery, AutoBatch loss estimation, LiteRT INT8 calibration, and nc validation (#25016)

latest release: 8.4.86
6 hours ago

๐ŸŒŸ Summary

Ultralytics v8.4.85 focuses on reliability and deployment polish, with important fixes for training out-of-memory recovery, AutoBatch memory estimation, LiteRT INT8 calibration, dataset validation, YOLO-World validation, RT-DETR/CoreML behavior, and edge-device documentation ๐Ÿš€

๐Ÿ“Š Key Changes

  • Fixed TaskAlignedAssigner OOM recovery during training ๐Ÿง 
    The CPU fallback for TaskAlignedAssigner now runs after the failed CUDA traceback is released, preventing the recovery path itself from running out of GPU memory.

  • Improved AutoBatch memory estimation ๐Ÿ“ฆ
    AutoBatch now better estimates detection loss memory usage, including the large temporary tensors used during assignment and classification loss calculation. This should help choose safer batch sizes for heavy training jobs.

  • Improved LiteRT static INT8 calibration ๐Ÿ“ฑ
    LiteRT calibration now handles smaller or partial calibration batches by repeating samples to match the traced batch size instead of failing when the dataset does not provide a perfectly sized batch.

  • Stricter dataset nc validation โœ…
    Dataset YAML files now validate that nc is an integer or integer-like value. Invalid values such as placeholders or decimals fail early with a clearer error.

  • YOLO-World standalone validation fix ๐ŸŒ
    Added a dedicated WorldValidator so model.val() correctly loads dataset class names and regenerates text embeddings when validating YOLO-World models on custom datasets.

  • Rectangular training shape fix ๐Ÿ“
    Augmentations now respect rect=True batch shapes instead of incorrectly falling back to square sizing, improving training consistency for datasets with varied aspect ratios.

  • RT-DETR validation and docs cleanup โšก
    RT-DETR validation transforms were simplified by removing a special stretch path, and docs now clarify that max_det cannot make pretrained RT-DETR models return more detections than their decoder query limit.

  • CoreML RT-DETR inference improvement ๐ŸŽ
    CoreML export metadata now records the model head type, allowing RT-DETR models to use ComputeUnit.ALL. This improves RT-DETR CoreML speed and helps preserve FP16 accuracy compared with Neural Engine-only execution.

  • CUDA device selection fix ๐Ÿ–ฅ๏ธ
    select_device() now preserves the requested CUDA index after CUDA has already been initialized, avoiding confusing device remapping behavior.

  • Tracking index bug fix ๐ŸŽฏ
    ByteTrack now preserves original detection indices for low-confidence detections matched during second association, reducing callback/index mismatches in tracking workflows.

  • Better user-facing prediction windows ๐ŸชŸ
    show=True display windows now auto-scale oversized images on Linux and Windows to avoid cropped previews.

  • YOLOE visual prompting verbosity fix ๐Ÿ”‡
    YOLOE visual prompting now respects verbose=False, preventing unwanted setup logs when users request quiet prediction.

  • Dataset name convenience ๐Ÿ—‚๏ธ
    Detection-style validation now supports bare dataset names like coco8 by resolving them to coco8.yaml when available.

  • Training fails fast when labels are missing ๐Ÿšจ
    Training now raises an error when no labels are found, helping users catch dataset setup issues immediately. Unlabeled validation splits can still warn instead of failing.

  • Updated edge deployment documentation ๐Ÿ“š
    Hailo docs now include a cleaner YOLO11-to-HEF workflow, metadata.yaml handling, and expanded inference examples for images, videos, webcams, and Raspberry Pi cameras. LiteRT, TFLite, and QNN docs were refreshed with current YOLO26n Android benchmark context.

  • Security warning for HTTP console log streaming ๐Ÿ”
    ConsoleLogger now warns when logs are sent to plaintext http:// destinations, helping users avoid transmitting sensitive console output unencrypted.

๐ŸŽฏ Purpose & Impact

  • More stable training on large or dense datasets ๐Ÿ’ช
    The OOM recovery and AutoBatch fixes directly target real training failures, making Ultralytics more robust for workloads with many objects, large batches, or high memory pressure.

  • Fewer confusing export and deployment failures ๐Ÿ“ฒ
    LiteRT calibration is more forgiving, CoreML RT-DETR inference is more accurate and faster, and Hailo deployment docs are clearer about required files and metadata.

  • Better validation across model families ๐Ÿงช
    YOLO-World, RT-DETR, and detection-style datasets now behave more consistently, especially when users validate custom datasets or use simplified dataset names.

  • Clearer errors for dataset problems ๐Ÿ› ๏ธ
    Missing labels and invalid nc values are caught earlier, reducing wasted training time and making configuration issues easier to fix.

  • Improved day-to-day usability โœจ
    Rectangular training, CUDA device selection, tracking callbacks, prediction display windows, and YOLOE quiet mode all receive practical fixes that make common workflows smoother.

  • Stronger mobile and edge guidance ๐Ÿš€
    Refreshed YOLO26n LiteRT/TFLite/QNN benchmark documentation and expanded Hailo examples help users make better deployment decisions across Android, Raspberry Pi, and Hailo hardware.

What's Changed

New Contributors

Full Changelog: v8.4.84...v8.4.85

Don't miss a new ultralytics release

NewReleases is sending notifications on new releases.