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.
New Features
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.
- Improve Tuner search with confidence-weighted covariance by @glenn-jocher
- Explore the updated hyperparameter tuning documentation for more details.
Earlier dataset YAML validation
Dataset YAML fields now receive early type validation, providing clearer errors before training or validation begins.
Safer distributed tuning
MongoDB-based distributed tuning now assigns iteration IDs atomically, preventing concurrent workers from receiving duplicate trial numbers.
Performance Improvements
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.
- Own channels-last layout during backend construction by @glenn-jocher
- Restore automatic CPU channels-last selection by @glenn-jocher
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.
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.
Bug Fixes
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.
Correct TIFF loading
TIFF loading now handles uppercase file extensions and respects grayscale flags while preserving multispectral channels correctly.
Correct pose visualization scaling
Pose plots now scale keypoint coordinates without incorrectly scaling keypoint confidence values.
Safer Matplotlib backend restoration
Visualization code now handles cases where the originally configured Matplotlib backend cannot be restored.
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.
- Fix legacy PyTorch prediction regressions from default CPU channels-last by @onuralpszr
- Fix PyTorch 1.9 backend initialization by @glenn-jocher
Project Maintenance
The package version is now 8.4.136, and the Ultralytics SDK repository now displays CI and PyPI publishing status.
Welcome, New Contributors
A warm welcome and thank you to our first-time contributors:
- @chinazhangchao, who improved class filtering in PR #25882.
- @aleehydar, who corrected pose visualization scaling in PR #24432.
- @lszSamLin, who improved TIFF loading in PR #25986.
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! ![]()