🌟 Summary (single-line synopsis)
v8.3.243 sharpens Ultralytics training telemetry and console output—cleaner progress bars, richer run metadata for Ultralytics Platform/HUB-style tracking, and safer/less noisy logging 🚀🧹📡
📊 Key Changes
- (Priority) ConsoleLogger progress-bar deduplication + batching 🧾✅
Suppresses noisy in-progress bar updates (keeps completion signals) and prevents repeated “100%” lines for the same step (epoch/train/val/Class). Also adds batched flushing (by lines/time) and safer handler cleanup. - Richer “training_started” metadata for platform telemetry 🧠🌍
Adds a new_get_environment_info()collector (OS, Python, hostname, CPU/GPU details, command, and Git repo/branch/commit when available) plus model info (params, GFLOPs, class count) into the training-start event payload. - Checkpoint upload timing tweak (rate-limit initialization) ⏱️⬆️
Initializes the upload timer at training start so the first checkpoint upload waits ~15 minutes, reducing immediate upload churn at the beginning of training. - Headless install docs promoted 🖥️🚫
Documentation now recommendspip install ultralytics-opencv-headlessfor servers/CI/Docker to avoid OpenCV GUIlibGLissues. - Docker GPU run instructions clarified 🐳⚡
Exampledocker runcommands now include--runtime=nvidiato reduce “GPU not found” surprises. - Opt-out of auto requirements checks 🧰🛑
New env varULTRALYTICS_SKIP_REQUIREMENTS_CHECKS=1skips requirement checks/auto-install behavior (useful for controlled environments). - Small correctness/docs fixes 📝
Pose loss comments corrected, and YOLO-World docs note a community tip: adding""as a background class may help in some cases.
🎯 Purpose & Impact
- Cleaner training logs (especially in notebooks/CI/streamed consoles) 🧹
Less spammy progress output makes it easier to spot real warnings, metrics, and errors—especially when logs are forwarded to external systems. - Better experiment traceability and reproducibility 🔍
Environment + Git + model metadata makes runs easier to compare and debug across machines, containers, and branches. - More predictable remote syncing ⏱️
Delaying the first checkpoint upload reduces bandwidth spikes early in training and avoids uploading “too-early” checkpoints. - Smoother installs on servers and pipelines 🧩
Headless package guidance + optional skipping of requirements checks helps teams run in Docker/CI/locked-down environments with fewer dependency headaches. - No major model architecture changes ✅
This release is primarily about logging/telemetry, usability, and docs, rather than changing YOLO model behavior.
What's Changed
- Headless docs by @glenn-jocher in #23077
- Update callbacks by @glenn-jocher in #23079
- Add missing
--runtime=nvidiausage description to Dockerfiles by @lakshanthad in #23080 - Fix incorrect loss order comments in v8PoseLoss by @raimbekovm in #23060
- Add note about background class for YOLO-World models by @raimbekovm in #23058
- Update pyproject.toml to zensical>=0.0.15 by @glenn-jocher in #23052
- feat: ✨ add option to skip requirements checks via environment variable by @onuralpszr in #23065
ultralytics 8.3.243Deduplicate ConsoleLogger progress bars by @glenn-jocher in #23082
Full Changelog: v8.3.242...v8.3.243