π Summary
v8.4.135 improves detection reliability by adapting max_det to dataset object counts and standardizing dataset fraction handling.
π Key Changes
-
π Smarter
max_detselection for detection, segmentation, pose, and OBB tasks- Training and validation now inspect the largest number of labeled objects found in a single image.
- If the default
max_detis too low, it is automatically increased to match the observed dataset maximum. - User-specified
max_detvalues are preserved, but a warning is shown when they may limit validation recall. - The resolved value is propagated to native end-to-end model heads before validation, improving consistency for NMS-free models.
-
β οΈ Clearer warnings for object-count mismatches
- Users are notified when images contain more objects than
max_detallows. - Warnings explain that a low limit can cap recall and produce misleading validation metrics.
- Increasing
max_detmay increase validation cost, and cannot exceed the model or export formatβs own capacity.
- Users are notified when images contain more objects than
-
π Consistent
fractionboundary behaviorfraction=1andfraction=1.0now both mean βuse the full dataset.β- Integers greater than
1continue to represent an image count. 0and0.0remain available for skipping an optional test split.- Training and validation splits must still contain at least one image.
- Boolean values such as
fraction=Trueare now rejected instead of being interpreted ambiguously.
-
π Documentation and validation updates
- Training, export, and cloud-training documentation now describe the normalized fraction semantics.
- Additional tests cover configuration validation, dataset conversion, concatenated datasets, training pipelines, and end-to-end detection behavior.
π― Purpose & Impact
- β More trustworthy validation: Large-object-count images are less likely to be truncated by an unnoticed default limit.
- π Better recall measurement: Automatically matching
max_detto observed data helps prevent artificially low validation recall. - π§© More predictable configuration: Dataset behavior no longer depends on whether a serializer writes
1as an integer or1.0as a float. - π οΈ Safer user overrides: Custom
max_detsettings continue to work, with warnings when they may restrict results. - β‘ Potential performance trade-off: A higher detection limit can increase validation and inference post-processing cost, while model or deployment-format limits may still cap the maximum number of predictions.
What's Changed
- Normalize fraction boundary values by @glenn-jocher in #25994
- Respect dataset object counts when selecting max_det by @glenn-jocher in #25993
Full Changelog: v8.4.134...v8.4.135