π Summary
v8.4.95 improves training reliability, RT-DETR detection limits, input compatibility, and dataset usabilityβheadlined by safer checkpoint loading for Platform GPU jobs. π
π Key Changes
- π Fixed restricted training checkpoint loading β Raw checkpoints produced by Platform GPU workers no longer include training-only loss objects or NumPy scalar metadata that can be rejected by secure
weights_only=Trueloading. - π― Improved RT-DETR
max_detsupport β The detection limit is now correctly applied during native prediction, validation, and model exports, including CoreML and other deployment formats. - πΌοΈ Expanded NumPy input compatibility β NumPy images with grayscale, gray-plus-alpha, BGR, or BGRA channels are now normalized to match the modelβs expected channel count.
- π’ Fixed uint8 tensor preprocessing β Integer image tensors are handled without invalid floating-point dtype operations, while existing floating-point normalization behavior is preserved.
- π¦ Reduced automatic COCO downloads β COCO detection, segmentation, and pose datasets no longer download the optional 7 GB
test2017.zipby default. Standard downloads are now approximately 20.2β20.3 GB instead of about 27 GB. - π§ͺ Made segmentation conversion deterministic β Mask files are processed in sorted filename order, improving repeatability across runs.
- π Corrected pose metric curve labels β Removed duplicate box labels so pose metrics align correctly with dashboards such as Weights & Biases.
- π Clarified prediction and embedding return types β Documentation and type hints now accurately indicate that streaming returns an iterator, while non-streaming calls return lists.
- π οΈ Simplified edge-case handling β Empty segmentation inputs now return a valid zero box immediately.
- π Updated examples and training documentation β The
ObjectCounterexample now uses its returned results object, and automatic dataset download behavior is described more precisely.
π― Purpose & Impact
- More dependable cloud training: Platform GPU workers can save, resume, and load raw training checkpoints more reliably, reducing avoidable job failures. β
- More predictable deployment: RT-DETR exports and validation now respect
max_det, helping control output size, latency, and downstream processing requirements. - Fewer input-related errors: Applications using NumPy arrays or
uint8tensors can handle a wider range of camera and image formats without manual channel conversion. - Faster, lighter dataset setup: Most COCO users save roughly 7 GB of storage and download time because test images without public ground truth are excluded.
- More reproducible data preparation: Deterministic mask ordering makes conversion results and debugging more consistent.
- Clearer analytics: Correct pose labels prevent mislabeled or missing metric panels in experiment tracking tools.
- No major model architecture change: This release focuses on reliability, compatibility, export behavior, and documentation rather than introducing a new model family. YOLO26 remains the latest recommended Ultralytics model for general use. π
What's Changed
- Stop coco.yaml and coco-pose.yaml from downloading test2017.zip by default by @raimbekovm in #25136
- Use ObjectCounter results in the usage example by @parthivdholaria in #23417
- Process segmentation masks in deterministic order by @AlexRTer in #24390
- Simplify empty segment handling in segment2box by @1548093028 in #23770
- Normalize uint8 tensor sources without dtype errors by @jahsef in #23743
- Clarify automatic dataset downloads in training docs by @vedantparnaik in #24155
- Clarify streamed prediction return types by @thiliapr in #24391
- Clarify streamed embedding return types by @waketzheng in #24134
- Fix
PoseMetrics.curvesreturning duplicated box labels by @JESUSROYETH in #25148 - Normalize NumPy channel count to the model in
LoadPilAndNumpyby @JESUSROYETH in #25151 - fix(rtdetr): honor max_det in decoder exports and validation by @Hasnaathussain in #25153
- Fix restricted loading of training checkpoints by @glenn-jocher in #25154
New Contributors
- @thiliapr made their first contribution in #24391
- @parthivdholaria made their first contribution in #23417
- @jahsef made their first contribution in #23743
- @vedantparnaik made their first contribution in #24155
- @1548093028 made their first contribution in #23770
- @AlexRTer made their first contribution in #24390
- @waketzheng made their first contribution in #24134
- @Hasnaathussain made their first contribution in #25153
Full Changelog: v8.4.94...v8.4.95