pypi ultralytics 8.3.251
v8.3.251 - `ultralytics 8.3.251` Earlier trainer callback init (#23155)

latest release: 8.3.252
one day ago

🌟 Summary (single-line synopsis)

v8.3.251 improves training/integration reliability by initializing Trainer callbacks earlier (so Ultralytics HUB/Platform sees the original data input like ul://...) while also polishing profiling accuracy, tuning stability, and device/dataset/docs support 🧩🚀

📊 Key Changes

  • Earlier Trainer callback initialization (PR #23155, @glenn-jocher) 🧠
    • on_pretrain_routine_start now runs before dataset resolution (get_dataset()), keeping the original args.data intact (e.g., ul:// URIs).
    • DDP/world-size detection is computed earlier to ensure integrations start at the right time.
  • Platform/Ultralytics HUB training logging made safer for concurrent runs 🧵
    • Platform callback state moved from global variables to per-trainer fields, reducing cross-talk when multiple trainings run in the same process.
    • Training events now capture cleaner “trainArgs” and can attach a returned modelId for better event correlation.
  • Better support for ul:// weights loading 🛰️
    • YOLO(...)._load() now recognizes ul:// as a valid remote source prefix (alongside http(s)://, rtsp://, etc.).
  • More accurate FLOPs/profiling and benchmark reporting 📏
    • model.info() now accepts an imgsz argument, and benchmarks use it so FLOPs reflect the actual input size (not always 640).
  • Tuner stability improvements 🎛️
    • Tuner now passes save_dir into subprocess runs to ensure consistent output paths.
    • Plotting warns and safely exits if there are no valid fitness values (instead of failing).
    • Removed unreachable code in Ray Tune helper (run_ray_tune) 🧹
  • Edge-hardware compatibility tweak: improved Rockchip detection 📟
    • is_rockchip() now handles SoC strings with suffixes like rk3588-..., improving detection on more boards.
  • Docs and dataset quality updates 📚
    • New NVIDIA DGX Spark guide for running YOLO11 (including TensorRT tips + benchmarks) 🖥️⚡
    • VOC docs add an embedded training video 🎥
    • Kaggle docs fix code-block formatting and clarity
    • TT100K dataset YAML and conversion script improved (better structure, metadata, and more stable class mapping)

🎯 Purpose & Impact

  • More reliable Ultralytics HUB/Platform tracking & reproducibility 🛰️
    • Integrations can now record the true dataset reference (like ul://user/datasets/name) before it’s resolved/rewritten—improving traceability and “training_started” metadata accuracy.
  • Fewer issues when running multiple trainings in one environment 🧵
    • Per-trainer logging state reduces interference between runs (important for notebooks, orchestration systems, or multi-experiment workflows).
  • More trustworthy model profiling numbers 📊
    • FLOPs and benchmark tables better match real-world settings when you profile with non-default imgsz.
  • Smoother tuning workflows 🔁
    • More consistent output directories across subprocess tuning + fewer plotting failures when trials don’t produce valid results.
  • Better out-of-the-box experience on specific platforms 🧩
    • Improved Rockchip detection and new DGX Spark guidance help users deploy YOLO11 more confidently on edge devices and compact workstations.

What's Changed

New Contributors

Full Changelog: v8.3.250...v8.3.251

Don't miss a new ultralytics release

NewReleases is sending notifications on new releases.