pypi ultralytics 8.4.25
v8.4.25 - `ultralytics 8.4.25` TensorFlow.js fix pin `ydf<0.13.0` (#23985)

7 hours ago

🌟 Summary (single-line synopsis)

Ultralytics v8.4.25 mainly restores TensorFlow.js export for most users βœ…, while also improving training speed paths, visualization behavior, box alignment accuracy, CI reliability, and YOLO26/platform documentation clarity πŸš€πŸ“š.

πŸ“Š Key Changes

  • (Top priority) TF.js export restored for supported systems πŸ”§
    From PR #23985 by @glenn-jocher:

    • Added dependency pin ydf<0.13.0 (non-ARM64) to avoid a TensorFlow/protobuf conflict.
    • Removed the previous hard disable on TF.js export.
    • TF.js export is now allowed again on supported environments (still blocked on ARM64 Linux).
    • Platform checks were clarified: TF.js and CoreML now have separate, cleaner rules.
    • Version bumped to 8.4.25.
  • Faster training internals for pose/detection/OBB losses ⚑
    From PRs #23937 and #23966:

    • Replaced Python loops with vectorized tensor ops in loss preprocessing and keypoint batching.
    • Keeps model outputs/behavior consistent, but improves efficiency in heavy training paths.
  • Bounding box alignment fix in scale_boxes 🎯
    From PR #23967:

    • Corrected padding math to match LetterBox rounding.
    • Fixes subtle systematic box shifts (pixel-level misalignment) on certain image sizes.
  • Visualization improvement: confidence can be shown without class labels πŸ‘€
    From PR #23951:

    • show_conf=True now works independently of show_labels.
    • Enables β€œconfidence-only” overlays when class text is hidden.
  • Docs and platform guidance expanded (especially YOLO26 end-to-end detection) πŸ“˜
    From PRs #23947, #23974, #23975, #23931:

    • Added a full guide for YOLO26 end-to-end, NMS-free detection and migration from YOLO11/YOLOv8.
    • Improved API/reference doc rendering (including proper References sections).
    • Broad Ultralytics Platform docs refresh: clearer API key usage, pricing/GPU tables, onboarding/deploy/help updates.
  • CI and runner infrastructure updates πŸ§ͺ
    From PR #23875 and #23974:

    • More workflows moved to cpu-latest for better consistency/speed.
    • Updated runner Docker images to 2.333.0.
  • Prediction telemetry enhancement πŸ“‘
    From PR #23948:

    • Prediction events now include inference backend metadata for better analytics/debugging.

🎯 Purpose & Impact

  • Big win for web deployment 🌐
    Teams exporting to TF.js can now resume browser/JavaScript workflows in most supported environments.

  • Fewer export headaches 🧩
    Dependency pinning reduces breakage from upstream package mismatches, making exports more dependable.

  • Potentially faster training iterations ⏱️
    Vectorized loss preprocessing should reduce Python overhead and improve throughput, especially for larger batches.

  • Better output quality and trust in predictions βœ…
    The box-scaling fix helps prevent annoying small coordinate offsets that can affect visual quality and downstream logic.

  • Improved usability for debugging and demos πŸ› οΈ
    Confidence-only display and richer backend telemetry make model behavior easier to inspect.

  • Smoother onboarding for YOLO26 + Platform users πŸš€
    Updated docs lower migration friction and make it easier for both new and advanced users to train/deploy via the Ultralytics Platform.

What's Changed

New Contributors

Full Changelog: v8.4.24...v8.4.25

Don't miss a new ultralytics release

NewReleases is sending notifications on new releases.