New Release: Ultralytics v8.4.140

:rocket: Ultralytics v8.4.140 Released

Ultralytics v8.4.140 improves training reliability, preserves model state across key workflows, and fixes grayscale TIFF channel handling for YOLO26 segmentation. This release also strengthens DDP training, weight loading, tuning, export safety, and small-dataset sampling.

Explore the v8.4.140 release for the complete release details.

:glowing_star: New Features and Reliability Improvements

:framed_picture: Grayscale TIFF Training Fix

Single-frame grayscale TIFF images now respect the requested color format, preventing three-channel models from receiving one-channel batches and failing at the first convolution.

Existing support remains intact for:

  • Color TIFF images
  • Multipage TIFF files
  • Four-channel images
  • Multispectral stacking

Regression coverage now includes training, validation, prediction, and export with grayscale TIFF data.

:brain: Model-State Preservation

Prediction and standalone validation now use independent model copies. Operations such as fusion, FP16 conversion, and end-to-end configuration changes no longer permanently modify the caller’s model.

Automatic DDP callbacks are also preserved correctly.

:rocket: More Reliable Distributed Training

DDP workers now receive the model, arguments, and callbacks prepared by the parent trainer. This preserves:

  • In-memory weight changes
  • Custom class names
  • Application callbacks
  • Prepared model state

The release also adds cloudpickle to support this state transfer.

:hammer_and_wrench: Improvements

:bullseye: Better Weight Loading and Provenance

Loading weights from modules, checkpoint dictionaries, or files now preserves the correct training source and prefers EMA weights when available. Predictor caches are refreshed after model changes to reduce stale inference behavior.

:wrench: Safer Fusion Detection and Calibration

Fused pretrained weights now produce a warning when loaded into an unfused model. Fusion detection is more accurate across convolutional, reparameterized, and end-to-end YOLO26 components.

Depth calibration also preserves a trainable and saveable unfused model state.

:package: Safer Model Exports

Export now operates on an isolated model copy before changing class names or head settings. This keeps the original model unchanged and avoids unnecessarily copying the large cached CLIP encoder used by YOLOWorld.

:dna: Tuning Uses the Loaded Model

Model.tune() now starts each tuning iteration from the model loaded by the caller. In-memory weight changes and custom weights are preserved instead of rebuilding from the original model path.

:chart_increasing: Robust Fractional Dataset Sampling

Positive sampling fractions now retain at least one image, preventing very small fractions from rounding down to an empty dataset. Explicit zero-sized splits remain supported.

  • PR #26049 by GitHub author @ahmet-f-gumustas

:high_voltage: Faster Single-Image Preprocessing

Single-frame NumPy inputs now bypass an unnecessary stacking operation, providing a modest preprocessing speed improvement without changing batched-input behavior.

:bug: Bug Fixes

  • Fixed grayscale TIFF and model channel mismatches during training.
  • Prevented prediction, validation, calibration, export, and precision changes from unexpectedly altering the original model.
  • Preserved custom callbacks and prepared model state during multi-GPU training.
  • Prevented fractional dataset sampling from unintentionally selecting zero images.
  • Refreshed predictor caches after model changes to avoid stale inference behavior.

:bullseye: Who Benefits Most?

This release is especially valuable for users working with:

  • YOLO26 training and deployment
  • Grayscale TIFF or multispectral datasets
  • Multi-GPU DDP training
  • In-memory or custom model weights
  • Hyperparameter tuning
  • Calibration and model fusion
  • Export workflows
  • Small dataset fractions
  • Single-image NumPy inference

:inbox_tray: Try v8.4.140

Upgrade to the latest release with:

pip install -U ultralytics

You can review every change in the v8.4.139 to v8.4.140 comparison before updating.

Please try the release and share your feedback, benchmarks, or reproducible issues with the Ultralytics YOLO community. :raising_hands: