New Release: Ultralytics v8.4.175

:rocket: Ultralytics v8.4.175: More Reliable Training, Validation, and Deployment

Ultralytics YOLO v8.4.175 is focused on reliability across existing models—no new model architecture this time. The headline improvement prevents classification images from remaining in both training and validation splits after you change the split ratio, helping keep evaluation results trustworthy.

This release also improves pretrained weight loading, validation coverage, image and stream handling, export compatibility, tracking, and depth prediction. Explore the v8.4.175 release notes for the complete release overview.

:card_index_dividers: Training and Dataset Improvements

Changing your classification split ratio should not introduce train/validation leakage. Reassigned images now have their old split copies removed, while nested image paths and existing cache and split directories are preserved.

  • Safer classification workflows: PR #26597 by @Vaishnavi220506 improves classification training and validation, including split cleanup.
  • Nested classification images: PR #26598 by @Nikhi00718 preserves nested images during automatic splitting.
  • Better pretrained weight transfer: PR #26570 by @raimbekovm transfers class names when appropriate and adapts RGB first-convolution weights for grayscale models.
  • More effective fine-tuning: PR #26589 by @fcakyon retains class-branch features when fine-tuning to fewer classes.
  • Pose metadata: PR #26574 by @zkoymen sets kpt_shape for pose models built from YAML.
  • Class-weight handling: PR #26599 by @raimbekovm keeps classes without training labels neutral in cls_pw weights.
  • Text-prompt training compatibility: PR #26600 by @raimbekovm skips cls_pw in World and YOLOE text-prompt trainers.

:chart_increasing: More Trustworthy Validation

These fixes help ensure validation includes the expected samples and handles annotation and mask edge cases correctly.

  • Complete validation batches: PR #26565 by @raimbekovm fixes drop_last behavior for compiled validation and distributed training shards.
  • Large semantic-segmentation counts: PR #26561 by @aswanth-07 uses int64 pixel counts in semantic validation.
  • COCO keypoint annotations: PR #26564 by @8rulerstar skips annotations without labeled keypoints during conversion.
  • Semantic data handling: PR #26566 by @raimbekovm fixes semantic mask reading, class-count caching, and box labels.
  • Mask alignment: PR #26607 by @raimbekovm crops letterbox padding on whole pixels for retina and SAM masks.

:framed_picture: Image, Stream, Tracking, and Depth Fixes

  • 16-bit image inputs: PR #26577 by @raimbekovm converts 16-bit TIFF and PIL images to 8-bit before inference.
  • Image URL and stream routing: PR #26568 by @raimbekovm correctly routes extensionless image URLs and RTSP/RTMP/TCP streams with video-like suffixes.
  • RGBA TIFF compatibility: PR #26611 by @raimbekovm reads RGBA TIFFs as three channels for three-channel models.
  • Inference and cache robustness: PR #26579 by @cainiao33 fixes stale NumPy cache reads, multi-stream tracking, custom predictors, CLI brackets, and CPU FP16 handling.
  • Additional pipeline fixes: PR #26604 by @cainiao33 addresses image caching, export batching, DOTA merging, and segmentation heads.
  • Independent tracker IDs: PR #26591 by @raimbekovm gives each tracker its own track-ID counter.
  • Stable ReID batch outputs: PR #26610 by @raimbekovm clones each fixed-batch ReID chunk output before the next inference call.
  • Rectangular ReID inputs: PR #26596 by @aswanth-07 fixes rectangular ONNX inputs in tracker ReID preprocessing.
  • Consistent depth preprocessing: PR #26556 by @Y-T-G aligns depth prediction image stretching with validation and adds calibration guidance without a depth camera.

:package: Export and Runtime Compatibility

  • Embedded NMS and CoreML: PR #26585 by @raimbekovm fixes larger inference batches for embedded-NMS exports and empty-frame handling in CoreML.
  • Dynamic YOLOE exports: PR #26567 by @Y-T-G fixes YOLOE CoreML export with dynamic=True.
  • Static TorchScript validation: PR #26554 by @amanharshx validates static TorchScript exports at their exported image size.
  • Complete ONNX backend outputs: PR #26606 by @raimbekovm returns every output from the OpenCV DNN ONNX backend.
  • Dependency requirement checks: PR #26575 by @shoutoutuoadi325 enforces version specifiers for extras and ~= requirements.

:books: Documentation and Tooling Updates

:raising_hands: Welcome, New Contributors!

A warm welcome to @8rulerstar, @maisternia, and @shoutoutuoadi325 for their first contributions! Thanks to the YOLO community and Ultralytics team for making this reliability-focused release possible.

:test_tube: Try v8.4.175 and Share Your Feedback

Install the release with:

pip install --upgrade ultralytics==8.4.175

Review the full changelog to see everything included, then try it with your training, validation, inference, or deployment workflow.

How does v8.4.175 work with your setup? Share your results or report any issues below—reproduction steps and environment details are especially helpful.