Ultralytics v8.4.176: Smaller YOLO-World Checkpoints and More Reliable Workflows
Ultralytics YOLO v8.4.176 brings dramatically smaller YOLO-World checkpoints and reliability improvements across validation, fine-tuning, segmentation, tracking, and deployment. Explore the v8.4.176 release notes for the complete update.
Highlight: YOLO-World Checkpoints Shrink from 328.5 MB to 25.8 MB
Setting custom classes no longer caches the CLIP text encoder by default. For yolov8s-worldv2.pt, this reduced a saved checkpoint from 328.5 MB to 25.8 MB, with identical predictions after reload. Explicit caching remains available when needed.
This makes custom-vocabulary checkpoints easier to store and share. See PR #26647 by @raimbekovm for the implementation.
Validation and Training Improvements
- More reliable detection matching: Predictions now match eligible targets in confidence order, reducing missed matches when alternate targets are available. PR #26616 by @Nikhi00718 implements this fix.
- Safer YOLOE fine-tuning and resume: Trained classification heads are preserved instead of reinitialized when resuming or re-fine-tuning positional-embedding checkpoints. PR #26646 by @raimbekovm preserves the fused head.
- Worker-specific augmentation seeding: Albumentations is reseeded in each DataLoader worker through PR #26635 by @8rulerstar.
Segmentation and SAM Fixes
- MobileSAM FP16 masks: Native
LayerNorm2dcomputation fixes empty masks during FP16 inference. PR #26639 by @raimbekovm delivers the fix. - Fresh SAM state for every source: Reused predictors now reset state for new images and videos, thanks to PR #26644 by @raimbekovm.
- Segmentation regression reverted: PR #26416 by @Nicholas022400701 introduced mask thresholding and video-duration handling with
vid_stride. The mask-thresholding portion was subsequently reverted in PR #26645 by @Laughing-q after it reduced YOLO26 segmentation mAP.
Deployment and Input Handling
- ONNX GPU inference: Custom input names and strided tensors are handled correctly by PR #26618 from @aswanth-07.
- OpenVINO NPU inference: Batch and depth-output handling are improved in PR #26641 by @onuralpszr.
- Grayscale model inputs: Floating-point NumPy color images are now accepted through PR #26632 by @aswanth-07.
- TensorRT 11 export dependencies: Automatic installation of
nvidia-modeloptnow pinstorch, thanks to PR #26624 by @Zephyr4772.
Video, Tracking, and Workflow Fixes
- Accurate frame rates: Saved videos preserve fractional FPS, and stream loaders handle high-FPS inputs correctly. PR #26627 by @Vaishnavi220506 improves both workflows.
- Picklable tracker counters: Per-tracker ID counters support copying and pickling on Python 3.14 through PR #26638 by @raimbekovm.
- Correct ReID crop colors: PR #26628 by @cainiao33 fixes channel swapping in crops passed to embedding models.
- Smoother benchmarking: Legacy precision flags, model selection, and repeated directory runs are fixed in PR #26640 by @raimbekovm.
- Readable Windows logs: Non-ASCII class names and paths are preserved by PR #26626 from @Nikhi00718.
Documentation and Platform Updates
- Updated workflow guidance: Documentation clarifies precision, preprocessing, inference, and fine-tuning behavior. Ultralytics Platform documentation also covers relevance-based dataset sorting, email changes, and AI-assisted model comparison. PR #26633 by @raimbekovm brings these updates together.
- Hailo-8 benchmark visualization: PR #26615 by @lakshanthad adds a benchmark image to the documentation.
Community Thanks
Thank you to the YOLO community and Ultralytics team for the fixes, testing, and documentation improvements! A special welcome to @Zephyr4772, whose first contribution is included in this release.
Try It and Share Your Feedback
Upgrade to this release:
pip install --upgrade ultralytics==8.4.176
Try your training, inference, or export workflow and let us know how it goes. If something looks unexpected, share your environment, a minimal reproduction, and any relevant logs in the discussion.
You can review every change in the full v8.4.175 → v8.4.176 changelog before upgrading.