github ultralytics/ultralytics v8.4.28
v8.4.28 - `ultralytics 8.4.28` Limit autobatch to dataset size (#24020)

latest releases: v8.4.30, v8.4.29
11 hours ago

๐ŸŒŸ Summary

Ultralytics v8.4.28 improves training reliability on small datasets by making autobatch smarter, while also strengthening network robustness, backend efficiency, and docs/test stability. ๐Ÿš€

๐Ÿ“Š Key Changes

  • (Most important) Autobatch now respects dataset size ๐Ÿ“ฆ
    From PR #24020 by @glenn-jocher: automatic batch-size selection is now capped to the number of training images.

    • Added dataset_size through Trainer.auto_batch(), check_train_batch_size(), and autobatch().
    • Autobatch profiling now skips candidate batch sizes larger than the dataset.
    • Final batch recommendation is clamped as a safety check.
  • More reliable dataset/platform networking ๐ŸŒ๐Ÿ”
    From PR #24010 by @glenn-jocher:

    • Smarter retries for transient download failures (timeouts, connection issues, rate limiting, server errors).
    • Faster failure on non-retryable issues (like local save errors).
    • Platform URL resolution retries increased (3 โ†’ 5) with clearer retry behavior and backoff logging.
  • TensorFlow backend import optimization โšก
    From PR #24017 by @Y-T-G:

    • TensorFlow is now imported only for saved_model and pb formats in the TensorFlow backend loader.
    • Avoids unnecessary dependency loading in unrelated inference paths.
  • Test reliability improvement for YOLO26 OBB CI ๐Ÿงช
    From PR #24011 by @glenn-jocher:

    • Updated a test image URL (boats.jpg) to a fixed jsDelivr CDN path for more consistent test behavior.
  • Ultralytics Platform docs updated to match current UI ๐Ÿ“˜
    From PR #24014 by @mykolaxboiko:

    • Removed outdated Activity tab references in model docs.
    • Expanded onboarding docs to cover all tours and restart options.

๐ŸŽฏ Purpose & Impact

  • Better small-dataset training defaults โœ…
    Users training on tiny datasets are less likely to get impractical batch recommendations, reducing setup friction and odd edge-case behavior.

  • More resilient cloud/data workflows ๐Ÿ›ก๏ธ
    Dataset downloads and platform URL resolution should fail less often on temporary network issues, especially in CI or unstable network environments.

  • Cleaner runtime behavior ๐Ÿงน
    Conditional TensorFlow imports can reduce startup overhead and avoid avoidable environment-related issues.

  • Improved developer experience ๐Ÿ‘ฉโ€๐Ÿ’ป
    More stable tests and clearer docs mean smoother onboarding, troubleshooting, and release confidence.

What's Changed

Full Changelog: v8.4.27...v8.4.28

Don't miss a new ultralytics release

NewReleases is sending notifications on new releases.