New Release: Ultralytics v8.4.107

:rocket: Ultralytics v8.4.107: Huawei Ascend Support Is Here

:glowing_star: Quick Overview

The Ultralytics v8.4.107 release introduces hardware-optimized Huawei Ascend export and inference, faster FLOPs profiling, more reliable distributed training, and important tracking, evaluation, and dataset fixes.

The headline feature: Ultralytics YOLO models can now be compiled into .om models and accelerated on Huawei Ascend NPUs. :brain::high_voltage:

:new_button: New Features

Huawei Ascend Export and Inference

In PR #25432, @glenn-jocher added format=ascend with:

  • Export through Huaweiโ€™s CANN ATC compiler.
  • Self-describing .om models containing deployment metadata.
  • Target selection through name, including Ascend310P3 and Ascend310B4.
  • AutoBackend inference powered by ais_bench.
  • Support for detection, segmentation, classification, pose, OBB, semantic segmentation, and depth models.
  • Static-shape FP16 compilation.
  • Host-side export without requiring an attached Ascend device.
  • Format aliases including huawei, cann, and om.
  • Correct routing so cann is no longer interpreted as NCNN.

This creates a direct deployment path for Huawei Atlas boards, OrangePi AIPro devices, industrial inspection systems, robotics, and smart cameras. :factory::robot:

Ultralytics Platform Integration :cloud:

Huawei Ascend increases the available deployment formats from 19 to 20 across the Ultralytics Platform, making the new export option available throughout format-selection and deployment workflows.

:high_voltage: Improvements

Faster, Cleaner FLOPs Profiling

In PR #25434, @glenn-jocher changed FLOPs profiling to operate directly on models rather than creating expensive deep copies, reducing time and memory usage.

In PR #25438, @glenn-jocher removed the unused get_flops_with_torch_profiler utility and updated the requirement to ultralytics-thop>=2.1.0 for improved performance and cleanup reliability.

More Reliable Distributed Training :globe_with_meridians:

In PR #25435, @glenn-jocher updated DDP rendezvous port selection to prefer random available ports below the operating systemโ€™s ephemeral range, reducing failures caused by port reuse while retaining an OS fallback.

Clearer Disk-Space Reporting :floppy_disk:

In PR #25433, @glenn-jocher improved low-disk-space diagnostics by reporting available capacity in KB when less than 1 MB remains, instead of showing an ambiguous 0.0 MB.

:hammer_and_wrench: Bug Fixes

  • In PR #25418, @JESUSROYETH restored TrackTrack deleted-detection recovery for PyTorch models.
  • In PR #25419, @JESUSROYETH corrected class-label and AP alignment in PR_curve.png when a class has no predictions.
  • In PR #25420, @JESUSROYETH prevented empty segmentation annotations from corrupting bounding boxes in GroundingDataset.
  • In PR #25417, @JESUSROYETH made optimizer-name handling case-insensitive before MuSGD and automatic optimizer checks, so values such as musgd now work correctly.

:rocket: Try Huawei Ascend Export

Upgrade Ultralytics:

pip install -U ultralytics

Export a YOLO26 model for an Ascend target:

yolo export model=yolo26n.pt format=ascend name=Ascend310B4

The generated model directory can then be loaded through the standard Ultralytics prediction APIs.

:warning: Ascend export requires the Linux-based CANN toolkit and the atc compiler. Ascend inference also requires the CANN runtime and ais_bench on the target device.

:raising_hands: Get Started and Share Feedback

Please try v8.4.107 with your training, export, tracking, and Ascend deployment workflows. Feedback, reproducible issue reports, and deployment results are always appreciated by the Ultralytics team and YOLO community.

For every change included in this release, review the complete v8.4.106 to v8.4.107 changelog on GitHub.