Ultralytics v8.4.135 Released
Ultralytics v8.4.135 improves detection reliability by adapting max_det to dataset object counts and standardizing fraction behavior across training and validation.
New Features
Smarter max_det Selection
For detection, segmentation, pose, and OBB tasks, Ultralytics YOLO now inspects the largest number of labeled objects in a single image.
- Automatically increases the default
max_detwhen the dataset requires a higher limit. - Preserves user-defined
max_detvalues. - Warns when a custom limit could restrict validation recall.
- Propagates the resolved value to native end-to-end model heads before validation, improving consistency for NMS-free models.
This helps prevent crowded images from being silently truncated during validation.
Improvements
Clearer Object-Count Warnings
When an image contains more labeled objects than max_det permits, YOLO now explains that:
- The limit may cap recall and produce misleading validation metrics.
- Increasing
max_detcan increase validation and post-processing cost. - Model and export-format capacities may still impose prediction limits.
Consistent fraction Behavior
Dataset fraction handling is now more predictable:
fraction=1andfraction=1.0both use the full dataset.- Integers greater than
1continue to represent an image count. fraction=0andfraction=0.0can skip an optional test split.- Training and validation splits must contain at least one image.
- Boolean values such as
fraction=Trueare rejected instead of being interpreted ambiguously.
This removes differences caused by serializers representing the same value as either an integer or float.
Documentation and Validation
Training, export, and cloud-training documentation now reflect the normalized fraction semantics. Expanded tests cover:
- Configuration validation
- Dataset conversion
- Concatenated datasets
- Training pipelines
- End-to-end detection behavior
Bug Fixes
The improved max_det logic reduces the risk of artificially low recall on datasets containing crowded images, while the normalized fraction boundaries eliminate ambiguous configuration behavior.
Pull Requests
- Normalize fraction boundary values by @glenn-jocher
- Respect dataset object counts when selecting
max_detby @glenn-jocher
Try v8.4.135
Upgrade to the latest release:
pip install -U ultralytics
Explore the v8.4.135 release notes or review the full v8.4.134 to v8.4.135 changelog.
Give the release a try and share your feedback, especially if you work with crowded datasets, custom max_det settings, or native end-to-end models. ![]()