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.
New Features
Automatic channels-last CUDA training
The existing channels_last=None setting now selects the optimal default automatically:
channels_last=Noneenables channels-last for supported CUDA training.channels_last=Falseexplicitly retains the traditional NCHW format.channels_last=Trueexplicitly requests channels-last, preserving the previous behavior.
This gives Ultralytics YOLO26 users faster training defaults without requiring manual configuration.
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_lastcan 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.
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 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.
Contributor Spotlight
Thank you to @glenn-jocher for PR #26007: Auto-enable channels-last CUDA training.
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! ![]()