New Release: Ultralytics v8.4.136

:rocket: Ultralytics v8.4.136 Released

Ultralytics v8.4.136 is now available, bringing smarter hyperparameter tuning, faster image preprocessing, stronger backend compatibility, and more reliable data handling. This release focuses on making Ultralytics YOLO workflows faster, safer, and easier to debug—without introducing architecture changes.

:glowing_star: New Features

:bullseye: Smarter hyperparameter tuning

The Tuner can now learn relationships between promising hyperparameters using confidence-weighted covariance after the first 30 completed trials. Boundary reflection also prevents correlated proposals from being repeatedly clipped.

A basketball-hoop detection benchmark reached a best fitness of 0.60576, outperforming the tested Ray Tune and previous custom Tuner configurations.

:test_tube: Earlier dataset YAML validation

Dataset YAML fields now receive early type validation, providing clearer errors before training or validation begins.

:counterclockwise_arrows_button: Safer distributed tuning

MongoDB-based distributed tuning now assigns iteration IDs atomically, preventing concurrent workers from receiving duplicate trial numbers.

:high_voltage: Performance Improvements

:brain: More robust channels-last inference

AutoBackend now owns memory-layout selection during construction, avoiding duplicated or unsafe conversions. Automatic CPU channels-last selection is restored for supported Linux and Windows x86 environments using PyTorch 1.13 or newer with oneDNN.

CUDA remains supported, while ARM64, MPS, older PyTorch releases, and exported backends retain their established behavior.

:framed_picture: Faster image preprocessing

PIL and NumPy prediction inputs now use efficient OpenCV color conversion paths, reducing unnecessary copies while preserving channel order and contiguous memory layout.

:person_running: Lower BoT-SORT overhead

Sparse optical-flow motion compensation no longer creates an unnecessary per-pixel OpenCV grid, reducing overhead when tracking on large frames.

:hammer_and_wrench: Bug Fixes

:magnifying_glass_tilted_left: Reliable class filtering

Numeric CLI classes filters are now preserved for YOLOE and World models, while text-based class prompts continue to work as before.

:camera: Correct TIFF loading

TIFF loading now handles uppercase file extensions and respects grayscale flags while preserving multispectral channels correctly.

:bone: Correct pose visualization scaling

Pose plots now scale keypoint coordinates without incorrectly scaling keypoint confidence values.

:bar_chart: Safer Matplotlib backend restoration

Visualization code now handles cases where the originally configured Matplotlib backend cannot be restored.

:laptop: Legacy PyTorch and JetPack compatibility

Backend initialization and memory-layout handling have been corrected for legacy environments, including PyTorch 1.9 and affected JetPack 6 systems.

:package: Project Maintenance

The package version is now 8.4.136, and the Ultralytics SDK repository now displays CI and PyPI publishing status.

:raising_hands: Welcome, New Contributors

A warm welcome and thank you to our first-time contributors:

:inbox_tray: Try v8.4.136

Upgrade to the latest release with:

pip install -U ultralytics

Review the complete details on the Ultralytics v8.4.136 release page, or inspect every change in the full v8.4.135 to v8.4.136 changelog.

Please try the release and share your benchmarks, feedback, and any issues you encounter. Thanks to the entire YOLO community and every contributor who helped make this update possible! :tada: