pypi ultralytics 8.4.70
v8.4.70 - Fix DDP AMP broadcast state synchronization (#24810)

5 hours ago

🌟 Summary

v8.4.70 is a reliability-focused release 🛠️ led by an important fix for multi-GPU training, plus safer checkpoint loading, a plotting fix for segmentation results, and clearer docs around YOLO26 heatmaps, training outputs, and deployment 📚

📊 Key Changes

  • 🐛 Fixed DDP AMP synchronization in multi-GPU training in PR #24810 by @LZ-QWQ

    • This is the main update in the release.
    • It fixes a bug where AMP mixed-precision training could be disabled on one GPU rank but remain enabled on others during Distributed Data Parallel training.
    • After the fix, all ranks now correctly share the same AMP setting.
  • Safer checkpoint loading with clearer errors in PR #24857 by @glenn-jocher

    • Ultralytics now gives a clear, user-friendly error when loading unsupported checkpoint formats, such as plain state_dict files or some older YOLOv5-style module references.
    • This replaces confusing crashes like AttributeError or KeyError.
  • 🎨 Fixed Results.plot() for masks-only outputs in PR #24635 by @ahmet-f-gumustas

    • Segmentation results that contain masks but no bounding boxes no longer crash during plotting.
    • This helps users working with custom or partial result objects.
  • 🔥 Heatmaps guide was rewritten around real tracking use cases in PR #24815 by @raimbekovm

    • The documentation now better explains that YOLO26 heatmaps are for object tracking over video, not just generic data visualization.
    • It clarifies real-world uses like traffic flow, crowd movement, and region-based counting.
  • 📁 Documented the save_dir training argument in PR #24831 by @raimbekovm

    • Users can now more easily understand how to send training outputs to an exact folder without auto-increment behavior.
  • 🧩 Small quality-of-life fixes in docs and config

    • Removed an unused region argument from the instance segmentation guide in PR #24833 by @raimbekovm
    • Corrected figsize typing to floats in Solutions config in PR #24832 by @raimbekovm
    • Fixed doc rendering issues and broken links, including TensorRT quantization docs, in PRs #24822, #24856, and #24858 📘

🎯 Purpose & Impact

  • 🚀 More reliable distributed training

    • The AMP/DDP fix is especially important for users training on multiple GPUs.
    • It prevents inconsistent precision behavior across devices, which could otherwise lead to unstable training, debugging headaches, or hard-to-trace performance issues.
  • 🛡️ Fewer cryptic failures

    • The checkpoint-loading improvements make model-loading problems much easier to understand.
    • This is especially helpful for users migrating from older formats or using custom-saved weights.
  • 🎯 Better support for segmentation workflows

    • The plotting fix makes Ultralytics more robust for segmentation-only results and edge cases.
  • 📚 Clearer guidance for real-world YOLO26 usage

    • The heatmaps documentation update makes it easier for a broad audience to understand how YOLO26 can be used for video analytics, such as retail, transportation, and crowd analysis.
  • ⚙️ Smoother day-to-day experience

    • While many of the remaining changes are documentation and maintenance updates, they reduce confusion, improve discoverability, and make the platform easier to use overall.

In short: v8.4.70 is mainly a stability and usability release ✅ with the standout improvement being a critical fix for consistent AMP behavior in distributed multi-GPU training.

What's Changed

New Contributors

Full Changelog: v8.4.69...v8.4.70

Don't miss a new ultralytics release

NewReleases is sending notifications on new releases.