Ultralytics v8.3.247 is out! 

TL;DR: Ray Tune + Weights & Biases (W&B) hyperparameter sweeps now get unique, trial-specific run names, making tuning runs dramatically easier to track (no more “everything is train”) ![]()
New Features (Highlights)
Ray Tune trials now log uniquely to W&B
Ray Tune trials logged to W&B no longer all show up as train—each trial gets a clear, unique name like my_run_00000.
This is handled in PR #23084 by @raimbekovm:
- Preserves the original base run name before it’s removed from training args
- Appends a Ray Tune
trial_idsuffix for uniqueness - Naming format:
{base_name}_{trial_suffix}
Why it matters: your W&B dashboard now mirrors your local Ray Tune trial structure, making sweeps much easier to interpret and compare ![]()
Improvements
Cleaner, faster training uploads to Ultralytics Platform
Training upload & logging quality improvements in PR #23105 by @glenn-jocher:
- Deduplicates plots by type (avoids repeated uploads / noisy results)
- Downsamps large curve payloads (e.g., PR curves) to reduce upload size and speed up logging
- Cleaner console output with a clearer
Platform:prefix + a direct “view results” URL - Fewer unnecessary GPU-monitoring warnings (notably on macOS / when CUDA isn’t available)

Bug Fixes & Stability
Validation plotting stability fixes
Two small-but-important fixes to prevent rare validation plotting issues:
- Empty prediction guard to prevent crashes in
DetectionValidator.plot_predictionsvia PR #23112 by @raimbekovm - Removed a redundant bbox slice during bbox format conversion via PR #23093 by @raimbekovm
Docs Updates (Deployment + Clarity)
Export docs: output tensor formats (ONNX/TensorRT)
A new FAQ-style section clarifies typical output tensor structures for detect/seg/pose exports—super helpful if you’re writing custom post-processing.
See PR #23057 by @raimbekovm.
General documentation & code clarity cleanups
Docstring + clarity improvements (including Boxes.xywh examples and clearer tensor dimension naming) in PR #23107 by @raimbekovm.
How to Update
pip install -U ultralytics
Then run your usual training/tuning workflows—especially Ray Tune + W&B sweeps—to see the improved run naming in action ![]()
Changelog + Release Links
You can review the full diff in the GitHub v8.3.246…v8.3.247 comparison, and details in the v8.3.247 release page.
Feedback Welcome!
Give v8.3.247 a spin and let us know how it goes—especially if you’re running Ray Tune sweeps or exporting to ONNX/TensorRT. If anything looks off, please share logs + minimal repro steps so we can jump on it quickly ![]()