pypi ultralytics 8.4.161
v8.4.161 - Fix RT-DETR device moves, fused resume, empty images, bracket paths, odd plot grids and save=False uploads (#26301)

3 hours ago

🌟 Summary

Ultralytics 8.4.161 is a reliability and usability release: it fixes several training, inference, plotting, and upload bugs, while improving dataset handling and clarifying export and Platform documentation.

πŸ“Š Key Changes

  • πŸ› οΈ Fixed six package issues in PR #26301, the release’s main change:
    • RT-DETR decoder tensors now move correctly between devices, helping prevent validation or prediction device-mismatch errors.
    • Resuming older Adam/AdamW checkpoints now preserves the optimizer’s runtime fused setting.
    • Empty image files no longer crash prediction runs.
    • Training results can be read from paths containing bracket characters, and plots handle odd numbers of result panels correctly.
    • Platform uploads can fall back to last.pt when save=False means no best.pt was created.
  • πŸ—‚οΈ Improved dataset and training utilities: .tgz archives now extract correctly, semantic segmentation can skip unnecessary polygon processing, and fuzz testing better recognizes expected missing-split errors.
  • 🍎 Made CoreML export failures clearer: removed an invalid fallback that could hide the original save error behind a misleading file-extension error.
  • πŸ“˜ Expanded export guidance: documented the device option for Hailo and Ascend, and explained why static exports may produce different predictions on non-square images.
  • ☁️ Refreshed Platform documentation for dataset image copying and face blurring, annotation providers, deployment pages and monitoring, and related API and billing details.

🎯 Purpose & Impact

  • βœ… More dependable prediction and training-resume workflows, especially with RT-DETR, older checkpoints, and imperfect image datasets.
  • πŸ“ˆ Fewer failures when reading results or generating plots, including with unusual file paths and uneven metric layouts.
  • ⚑ Less unnecessary processing for semantic datasets where polygon data is not used.
  • πŸ” More actionable CoreML errors and clearer export settings help users diagnose problems and choose deployment options.
  • 🧭 Updated Platform guidance makes dataset, annotation, billing, and deployment workflows easier to understand.

What's Changed

  • Document device export argument for OpenVINO, Hailo and Ascend by @raimbekovm in #26286
  • Tighten export mode docs and explain static export prediction differences by @Vaishnavi220506 in #26285
  • Align Platform docs with deployment pages, image copy, face blurring and new annotation providers by @raimbekovm in #26297
  • Classify wrapped dataset split errors as expected in CLI fuzzing by @aswanth-07 in #26299
  • Remove invalid CoreML .mlmodel save fallback by @amanharshx in #26298
  • Fix extraction of .tgz dataset archives by @aswanth-07 in #26294
  • Skip polygon resampling for semantic datasets when no augmentation reads the polygons by @raimbekovm in #26295
  • Fix RT-DETR device moves, fused resume, empty images, bracket paths, odd plot grids and save=False uploads by @glenn-jocher in #26301

New Contributors

Full Changelog: v8.4.160...v8.4.161

Don't miss a new ultralytics release

NewReleases is sending notifications on new releases.