New Release: Ultralytics v8.4.176

:rocket: 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.

:glowing_star: 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.

:bullseye: 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.

:framed_picture: Segmentation and SAM Fixes

  • MobileSAM FP16 masks: Native LayerNorm2d computation 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.

:gear: 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-modelopt now pins torch, thanks to PR #26624 by @Zephyr4772.

:clapper_board: 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.

:books: 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.

:raising_hands: 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.

:test_tube: 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.