New Release: Ultralytics v8.4.137

:rocket: Ultralytics v8.4.137: Faster CUDA Training by Default

Ultralytics v8.4.137 automatically enables the faster channels-last memory layout for CUDA training with PyTorch 1.11 and newer. This update can improve GPU training performance—especially on modern Tensor Core hardware—while retaining clear opt-out and compatibility options.

:glowing_star: New Features

Automatic channels-last CUDA training

The existing channels_last=None setting now selects the optimal default automatically:

  • channels_last=None enables channels-last for supported CUDA training.
  • channels_last=False explicitly retains the traditional NCHW format.
  • channels_last=True explicitly requests channels-last, preserving the previous behavior.

This gives Ultralytics YOLO26 users faster training defaults without requiring manual configuration.

:high_voltage: Improvements

  • Potentially faster GPU training: NHWC memory layout can improve convolution performance on compatible NVIDIA GPUs.
  • Safer compatibility: Automatic activation starts with PyTorch 1.11, avoiding known failures found with older versions during YOLO26 training.
  • Improved resume handling: channels_last can now be updated when resuming a training run.
  • Updated documentation: Training guides and argument references now explain the automatic CUDA behavior.
  • Minimal implementation impact: Selection occurs during trainer setup without new arguments, persistent state, helper utilities, or GPU-specific allowlists.

:shield: Compatibility and Control

CPU, MPS, and CUDA environments using PyTorch 1.10 or older continue with NCHW by default.

To explicitly keep the traditional layout, use:

yolo train model=yolo26n.pt data=coco8.yaml channels_last=False

The change was broadly validated across CUDA 11.1–13.2, PyTorch 1.8–2.12, Python 3.8–3.13, and a wide range of modern NVIDIA GPUs.

:bug: Bug Fixes and Stability

This release does not change model architectures or outputs. Its compatibility-aware defaults reduce the risk of channels-last failures while preserving predictable behavior across unsupported environments.

:raising_hands: Contributor Spotlight

Thank you to @glenn-jocher for PR #26007: Auto-enable channels-last CUDA training.

:package: Try v8.4.137

Upgrade with:

pip install -U ultralytics

Explore the v8.4.137 release details or review the full changes between v8.4.136 and v8.4.137.

Give the new CUDA training default a try, compare performance on your hardware, and share your feedback with the Ultralytics community! :rocket: