v8.4.132
v8.4.132 - Extend fraction to the test split (#25966)
Added 1
- List-based fraction now supports train, validation, and test splits with a third value to limit test data or skip test-image downloads entirely
Changed 12
- NMS now uses the optimized torchvision path on supported Ascend NPU setups
- Fraction-based sampling for local classification datasets now selects images across classes instead of taking a class-ordered prefix
- Ray Tune now uses its public context and reporting APIs
- ClearML, Comet, TensorBoard, MLflow, Ray Tune, and W&B instructions now better match current callback behavior
- MLflow environment-variable handling is more flexible
- TensorBoard setup is clearly documented as optional
- Documentation now more accurately describes NMS-free detection, segmentation, pose, and OBB models
- Export-format fallbacks, quantization limitations, Hailo behavior, detection limits, and expected accuracy trade-offs are now clarified
- Added guidance for using format-specific backend classes and explains input-layout, autograd, and post-processing differences
- RT-DETR documentation recommends disabling deterministic mode on CUDA
- Copy-Paste augmentation is correctly documented for both segment and OBB tasks
- Classification color-jitter settings are clarified when automatic augmentation is disabled
Fixed 5
- Repeated NMS time-limit warnings on Ascend NPU
- Incomplete batches on Ascend NPU from producing incorrect mAP results
- Classification fraction sampling to select representative subsets
- IMX exports no longer reject end-to-end models at the exporter entry point
- CLA workflow matching now accepts signature comments with surrounding whitespace or text
Removed 1
- Neptune integration and settings retired following the service shutdown
From ultralytics
🌟 Summary
🚀 Ultralytics v8.4.132 improves dataset efficiency, hardware compatibility, export workflows, and experiment-tracking documentation, with the headline feature being finer control over test-split downloads.
📊 Key Changes
-
🎯 Test-split control with
fraction(PR #25966 — @fcakyon)- List-based
fractionnow supports train, validation, and test splits. - Use a third value to limit test data or set it to
0to skip test-image downloads entirely. - Existing two-value lists remain compatible and continue using the full test split.
- The same split-selection behavior is shared across training, validation, dataset conversion, and export calibration.
- List-based
-
⚡ More efficient NDJSON workflows
- Platform NDJSON runs no longer need to download unused test images, which can significantly reduce transfer time, storage use, and bandwidth during multi-dataset sweeps.
-
🩹 Corrected NMS and validation on Ascend NPU
- NMS now uses the optimized torchvision path on supported Ascend NPU setups while continuing to avoid unsupported XPU behavior.
- Fixes repeated NMS time-limit warnings and prevents incomplete batches from producing incorrect mAP results.
-
📚 Improved YOLO26 end-to-end and export guidance
- Documentation now more accurately describes NMS-free detection, segmentation, pose, and OBB models.
- Clarifies export-format fallbacks, quantization limitations, Hailo behavior, detection limits, and expected accuracy trade-offs.
- Updates performance claims and explains when custom post-processing or NMS is still required.
-
🔄 Broader support for exported non-YOLO models
- Documents loading generic exported models through
YOLO()whentaskandimgszare supplied explicitly. - Adds guidance for using format-specific backend classes and explains input-layout, autograd, and post-processing differences.
- Corrects TensorFlow SavedModel, LiteRT, and numerical-parity documentation.
- Documents loading generic exported models through
-
🧪 Better classification subset sampling
- Fraction-based sampling for local classification datasets now selects images across classes instead of taking a class-ordered prefix.
- Produces more representative subsets for quick experiments and validation.
-
📈 Updated experiment-tracking integrations
- Ray Tune now uses its public context and reporting APIs.
- ClearML, Comet, TensorBoard, MLflow, Ray Tune, and W&B instructions now better match current callback behavior.
- Neptune integration and settings were retired following the service shutdown.
- MLflow environment-variable handling is more flexible, and TensorBoard setup is clearly documented as optional.
-
🧩 Additional training and export corrections
- RT-DETR documentation recommends disabling deterministic mode on CUDA, since its attention operation cannot provide fully deterministic backward training.
- Copy-Paste augmentation is correctly documented for both segment and OBB tasks.
- Classification color-jitter settings are clarified when automatic augmentation is disabled.
- IMX exports no longer reject end-to-end models at the exporter entry point.
- CLA workflow matching now accepts signature comments with surrounding whitespace or text.
🎯 Purpose & Impact
- 💾 Lower data-transfer costs: Users running Platform or NDJSON workflows can avoid downloading test data they do not need.
- ⏱️ Faster experimentation: Smaller, representative dataset subsets make tuning and iteration quicker without changing existing two-item
fractionusage. - 📊 More trustworthy metrics: Ascend NPU validation now processes complete batches, improving the reliability of reported mAP.
- 🚀 Easier deployment: Clearer YOLO26 export guidance helps users understand when NMS-free inference works and when a traditional NMS pipeline is necessary.
- 🌍 Better hardware coverage: NPU and export-path fixes improve compatibility across specialized accelerators and deployment formats.
- 🧭 Smoother integrations: Updated tracking documentation reduces setup confusion, while users migrating from Neptune should select an active integration such as ClearML, Comet, MLflow, TensorBoard, W&B, or the Ultralytics Platform.
What's Changed
- Match CLA signature comments by substring in the workflow gate by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/25970
- Fix NMS time-limit truncation and wrong mAP on Ascend NPU by @idwenhui in https://github.com/ultralytics/ultralytics/pull/25963
- Update experiment tracking callbacks and docs by @glenn-jocher in https://github.com/ultralytics/ultralytics/pull/25972
- Add https://youtu.be/rMllxg8ZLs8 to docs by @RizwanMunawar in https://github.com/ultralytics/ultralytics/pull/25975
- Document running non-YOLO exports through Ultralytics and correct parity claims by @raimbekovm in https://github.com/ultralytics/ultralytics/pull/25974
- Correct end-to-end detection guide claims and export fallback coverage by @raimbekovm in https://github.com/ultralytics/ultralytics/pull/25971
- Correct copy-paste task attribution and the export conf default claim by @raimbekovm in https://github.com/ultralytics/ultralytics/pull/25969
- Fix classification fraction sampling by @JESUSROYETH in https://github.com/ultralytics/ultralytics/pull/25968
- Recommend deterministic=False for RT-DETR training by @artest08 in https://github.com/ultralytics/ultralytics/pull/25965
- Extend fraction to the test split by @fcakyon in https://github.com/ultralytics/ultralytics/pull/25966
New Contributors
- @idwenhui made their first contribution in https://github.com/ultralytics/ultralytics/pull/25963
Full Changelog: https://github.com/ultralytics/ultralytics/compare/v8.4.131...v8.4.132