Ultralytics v8.4.95 Released
Ultralytics v8.4.95 improves training reliability, RT-DETR deployment behavior, image input compatibility, dataset efficiency, and documentation. Highlights include safer checkpoint loading for Ultralytics Platform GPU jobs, consistent max_det handling, broader NumPy image support, and COCO downloads reduced by roughly 7 GB. ![]()
Training and Input Reliability
- Safer checkpoint loading: Raw training checkpoints no longer include training-only loss objects or NumPy scalar metadata that may be rejected by secure
weights_only=Trueloading. This was completed in PR #25154 by @glenn-jocher. - Expanded NumPy compatibility: Grayscale, gray-plus-alpha, BGR, and BGRA inputs are normalized to the model’s expected channel count in
LoadPilAndNumpy, thanks to PR #25151 from @JESUSROYETH. - Correct
uint8tensor preprocessing: Integer image tensors are now normalized without invalid floating-point dtype operations, while existing floating-point behavior remains unchanged. See PR #23743 by @jahsef.
RT-DETR and Metrics Fixes
- Consistent RT-DETR
max_detsupport: Native prediction, validation, and decoder exports—including CoreML and other deployment formats—now correctly respect the configured detection limit through PR #25153 by @Hasnaathussain. - Correct pose metric labels:
PoseMetrics.curvesno longer returns duplicated box labels, improving compatibility with experiment dashboards such as Weights & Biases. This fix arrived in PR #25148 from @JESUSROYETH.
Dataset and Conversion Improvements
- Smaller default COCO downloads: COCO detection, segmentation, and pose configurations no longer download the optional 7 GB
test2017.ziparchive by default. Standard downloads are now approximately 20.2–20.3 GB, following PR #25136 by @raimbekovm. - Deterministic segmentation conversion: Mask files are processed in sorted filename order for more reproducible conversion and debugging. See PR #24390 by @AlexRTer.
- Simpler empty-segment handling:
segment2boxnow immediately returns a valid zero box for empty segmentation inputs through PR #23770 from @1548093028.
Documentation and Examples
- The
ObjectCounterexample now uses its returned results object correctly, thanks to PR #23417 by @parthivdholaria. - Training documentation now explains automatic dataset download behavior more precisely through PR #24155 by @vedantparnaik.
- Prediction documentation and type hints now clarify that streaming returns an iterator while non-streaming calls return lists, following PR #24391 by @thiliapr.
- Embedding return types received the same streaming clarification in PR #24134 from @waketzheng.
Welcome, New Contributors!
A warm welcome to first-time contributors @thiliapr, @parthivdholaria, @jahsef, @vedantparnaik, @1548093028, @AlexRTer, @waketzheng, and @Hasnaathussain. Thank you for helping improve Ultralytics YOLO! ![]()
Try v8.4.95
Upgrade to the latest release with:
pip install -U ultralytics
This release focuses on reliability, compatibility, exports, datasets, and documentation rather than introducing a new model family. YOLO26 remains the latest stable and recommended Ultralytics model for new projects.
Explore the v8.4.95 GitHub release for release assets, or review the complete v8.4.94-to-v8.4.95 changelog for every change.
Please give v8.4.95 a try and share your feedback, questions, or reproducible issues with the community. ![]()