Ultralytics v8.4.105 Released
Ultralytics v8.4.105 is now available! This release makes distillation checkpoints more reliable, expands YOLO26 depth deployment to Hailo and Qualcomm QNN, improves CoreML and mobile exports, introduces opt-in CUDA channels_last support, and delivers substantial performance, training, Platform, and documentation updates.
Explore the complete Ultralytics v8.4.105 release on GitHub.
Highlights
Reliable distillation checkpoints: Interrupted and mid-training checkpoints now support export,predict, andval.
Broader YOLO26 depth deployment: Hailo-8L and Qualcomm Snapdragon QNN devices are now supported.
Better CoreML dynamic exports: YOLO26 segmentation and depth models use export-compatible upsampling.
Consistent mobile input sizes: Classification exports use 224; detection, segmentation, semantic segmentation, depth, pose, and OBB use640.
Optional CUDA channels_last: Training and native PyTorch prediction can benefit from improved throughput while default NCHW behavior remains unchanged.
Stronger fusion and quantization: Fixes cover convolution layouts, ConvTranspose2d fusion, OpenVINO INT8 DFL operations, and CUDA calibration.
Improved Ultralytics Platform workflows: Depth API responses, configurable depth-map precision, annotation, activity export, billing, teams, deployment guidance, and API documentation have all been refined.
New Features
- Added Hailo export and inference for YOLO26 depth by @JESUSROYETH.
- Added gated CUDA
channels_lastsupport for training and prediction by @raimbekovm. - Added cross-dataset class-row weight transfer for RT-DETR by @artest08.
- Baked semantic argmax class maps into OpenVINO export graphs by @JESUSROYETH.
- Standardized mobile exports at classification
224and other tasks at640by @glenn-jocher.
Performance and Workflow Improvements
- Stride-aligned AutoBatch probe sizes for multi-scale training by @glenn-jocher.
- Expanded depth-task fuzz coverage by @glenn-jocher.
- Kept DFL operations in floating point during OpenVINO INT8 quantization by @synml.
- Reduced
Heatmapaccumulator memory to a single channel by @JESUSROYETH. - Removed an unnecessary validator device round trip by @JESUSROYETH.
- Removed redundant feature-map cloning from
WorldDetect.forwardby @JESUSROYETH. - Vectorized tracker
multi_predictandmulti_gmcloops by @JESUSROYETH. - Consolidated dataset label caching with shared templates and per-class hooks by @Laughing-q.
- Optimized
BboxLossweights and pose strides for matched anchors by @JESUSROYETH. - Simplified convolution and BatchNorm fusion broadcasting by @glenn-jocher.
- Gathered end-to-end top-k results with zero-copy expansion by @JESUSROYETH.
- Built TAL box-metric gather indices directly on the target device by @raimbekovm.
- Vectorized GMC point filtering with boolean masks by @raimbekovm.
- Skipped redundant float32 input copies in OpenVINO and Paddle backends by @JESUSROYETH.
Bug Fixes and Reliability
- Fixed CoreML dynamic segmentation upsampling by @glenn-jocher.
- Fixed CoreML dynamic depth bilinear upsampling by @glenn-jocher.
- Aligned ONNX-backed export arguments across formats by @amanharshx.
- Fixed convolution and BatchNorm fusion for
channels_lastweights by @raimbekovm. - Fixed the ConvTranspose2d and BatchNorm fusion weight axis by @raimbekovm.
- Fixed CUDA calibration crashes caused by inference tensors by @JESUSROYETH.
- Fixed single-class depth training by @glenn-jocher.
- Fixed RMSprop incorrectly constructing MuSGD by @raimbekovm.
- Restricted MuSGD resolution to the explicit optimizer path by @raimbekovm.
- Updated compatibility for Ruff 0.16.0 by @glenn-jocher.
- Corrected SAM3 semantic-mask thresholding by @Y-T-G.
- Preserved falsey activation arguments by @glenn-jocher.
- Fixed semantic targets for empty YOLO26 segmentation images by @JESUSROYETH.
- Recorded effective CoreML NMS precision by @amanharshx.
- Improved GMC outlier filtering on both sides of the mean by @raimbekovm.
- Padded every multispectral channel during
RandomPerspectivewarps by @JESUSROYETH. - Fixed
TRACKTRACK.updatefor a single torch-backed detection by @JESUSROYETH. - Fixed the
intel:gpualias on multi-GPU OpenVINO systems by @JESUSROYETH. - Derived export argument validation from the format table by @amanharshx.
- Validated pose,
kobj, RLE, angle, and erasing options at the configuration layer by @usegitdivyansh. - Fixed NCNN batched inference dropping images after the first by @JESUSROYETH.
- Added
fuse()delegation for distillation checkpoints by @glenn-jocher.
Platform, Export, and Documentation
- Documented YOLO26 depth in the Platform documentation and API reference by @glenn-jocher.
- Documented depth-map bit precision and model-resolution maps by @glenn-jocher.
- Added Platform guidance following export failures by @glenn-jocher.
- Added a depth workflow video to the documentation by @RizwanMunawar.
- Clarified the YOLOE export workflow for C++ ONNX Runtime inference by @23z156-wq.
- Added CPU ONNX and T4 TensorRT 10 speed columns to depth benchmarks by @Bovey0809.
- Added stable Platform screenshot markers by @glenn-jocher.
- Added a T4 TensorRT comparison with Depth Anything V2 by @raimbekovm.
- Fixed shared export-table rendering by @glenn-jocher.
- Fixed GMC documentation examples by @raimbekovm.
- Documented class-alias weight transfer for fine-tuning by @artest08.
- Added depth-map colorization options to the documentation by @onuralpszr.
- Updated reCamera links and contribution principles by @onuralpszr.
CI and Repository Maintenance
- Removed duplicate Python setup from CI by @glenn-jocher.
- Built the Docker runner before the export image by @glenn-jocher.
- Updated the README banner for YOLO Vision 2026 registration by @raimbekovm.
- Updated remaining banner links for YOLO Vision 2026 registration by @raimbekovm.
- Simplified the
AGENTS.mdcore principles by @glenn-jocher.
New Contributors
A warm welcome to our first-time contributors:
- @23z156-wq, who contributed the YOLOE C++ ONNX Runtime export documentation.
- @usegitdivyansh, who contributed configuration-layer argument validation.
Thank you to every contributor and the wider YOLO community for helping improve this release! ![]()
Upgrade Today
Install or upgrade to v8.4.105 with:
pip install -U ultralytics
For the complete commit-level comparison, review the v8.4.104 to v8.4.105 changelog.
Give the release a try and share your feedback, benchmark results, and deployment experiences with the community! ![]()