Published July 27, 2026 | Version v8.4.108

Ultralytics YOLO

  • 1. Ultralytics

Description

🌟 Summary

πŸ› οΈ v8.4.108 improves MuSGD stability, inference and tracking efficiency, analytics quality, ONNX compatibility, and documentation usabilityβ€”without changing model accuracy or architecture.

πŸ“Š Key Changes

  • Fixed a MuSGD training crash by @Y-T-G:

    • MuSGD now applies its Muon-style update only to supported 2D linear weights and 4D convolution filters.
    • LayerScale gains, normalization weights, biases, and other parameters use the existing SGD update path.
    • Prevents AssertionError failures when training models containing parameters such as (C, 1, 1) LayerScale tensors.
  • Improved prediction performance reporting:

    • Predictors now retain per-image preprocessing, inference, and postprocessing times through predictor.speed.
    • Added average processed image area through predictor.pixels.
    • Timing information is reset correctly for each run and supports mixed image sizes.
  • Reduced tracking overhead and preserved device placement:

    • TrackTrack computes motion cues only for detection pairs supported by IoU, reducing unnecessary CPU work, especially in crowded scenes.
    • Removed redundant NumPy array copies in ByteTrack and TrackTrack.
    • Tracked boxes now remain on the same device as the original detections, avoiding unexpected CPU/GPU data splits.
  • Improved ONNX Runtime example compatibility:

    • Corrected image height/width handling during letterbox preprocessing.
    • Added fallback support for models with dynamic input dimensions.
  • Strengthened training and inference analytics:

    • Training events now report final outcomes such as fitness, duration, completed epochs, optimizer, architecture, and dataset information.
    • Multi-GPU runs now record the GPU count instead of a simple distributed-training flag.
    • Invalid modes and tasks are excluded from analytics events.
  • Expanded Ultralytics Platform integration:

    • Model weights for YOLO26, YOLO11, YOLOv8, and supported YOLOv5 variants now link to their corresponding Ultralytics Platform model pages.
    • Huawei Ascend 310B1 and 310B4 targets are now documented as supported on Platform.
  • Improved generated reference documentation:

    • Fixed broken tables for union types such as str | Path.
    • Preserved multi-line return descriptions.
    • Documented inherited constructors correctly.
    • Improved source panels, examples formatting, frontmatter handling, and empty argument tables.
  • Updated documentation links and CI reliability:

    • Replaced unstable ADE20K and Flickr30K links with maintained GitHub sources.
    • Excluded Gitee links from automated checks to avoid false failures caused by bot protection.

🎯 Purpose & Impact

  • βœ… MuSGD users can train a wider range of models reliably, including architectures with LayerScale or other non-matrix parameters.
  • πŸš€ Inference and tracking are more efficient, with lower avoidable CPU work and better GPU/CPU device consistency.
  • πŸ“ˆ Performance measurements and analytics are more useful, making it easier to compare real-world runs across hardware and distributed setups.
  • πŸ”„ ONNX Runtime examples work with more exported models, including dynamic-shape models.
  • πŸ“š Documentation is easier to navigate and more accurate, with working model links, corrected API references, and clearer examples.
  • 🌐 Users can more easily explore, train, and deploy supported models through the Ultralytics Platform, the recommended workflow for managing YOLO projects.

What's Changed

  • Fix unstable dataset links in docs by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/25445
  • Link model weights to Platform pages by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/25446
  • Exclude gitee.com from broken link checks by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/25449
  • fix input size handling in YOLOv8/YOLO11 ONNXRuntime example by @onuralpszr in https://github.com/ultralytics/ultralytics/pull/25451
  • Add predictor speed attribute and predict event fields by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/25440
  • Escape pipes in reference tables so union types stay in one column by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/25455
  • Fix reference truncation, constructor signatures, and empty argument tables by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/25457
  • Record training outcomes in the train event by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/25456
  • Fix Examples captions and hard-wrapped table descriptions by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/25458
  • Update OrangePi Huawei Ascend 310B Platform support by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/25459
  • Document inherited constructors and anchor frontmatter parsing by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/25460
  • Only send events for a valid mode and task by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/25461
  • Reduce TrackTrack CPU and keep tracked boxes on the source device by @onuralpszr in https://github.com/ultralytics/ultralytics/pull/25448
  • Record the GPU count instead of a ddp flag by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/25463
  • Skip the redundant contiguous copy in RandomFlip by @JESUSROYETH in https://github.com/ultralytics/ultralytics/pull/25462
  • Fix MuSGD crash on non-matrix params like LayerScale by @Y-T-G in https://github.com/ultralytics/ultralytics/pull/25447

Full Changelog: https://github.com/ultralytics/ultralytics/compare/v8.4.107...v8.4.108

Notes

If you use this software, please cite it using the metadata from this file.

Files

ultralytics/ultralytics-v8.4.108.zip

Files (3.4 MB)

Name Size Download all
md5:376d99d8c232505561aac0edea055298
3.4 MB Preview Download

Additional details

Related works