pypi ultralytics 8.4.22
v8.4.22 - `ultralytics 8.4.22` Huawei Ascend NPU device parsing in `select_device` (#23902)

7 hours ago

🌟 Summary

Ultralytics v8.4.22 focuses on better hardware support and reliability, led by a key new feature: basic Huawei Ascend NPU device support in select_device πŸš€.

πŸ“Š Key Changes

  • πŸ”₯ Major (Current PR #23902 by @GiantAxeWhy): Huawei Ascend NPU parsing added

    • You can now use device=npu or device=npu:0 in Ultralytics.
    • Added checks for torch_npu installation and NPU availability.
    • Validates NPU index and gives clearer errors for invalid inputs.
    • Explicitly blocks unsupported multi-NPU strings like npu:0,1 for now.
  • 🧠 Multi-GPU training fix (DDP + Albumentations)

    • Custom Albumentations transforms are now serialized/deserialized safely for DDP subprocesses.
    • Fixes failures where custom augmentations could break in multi-GPU runs.
  • πŸ“¦ Export stability improvements

    • ONNX opset selection is safer on newer Torch versions (Torch 2.9+ capped more conservatively).
    • TensorRT INT8 exports now auto-disable end2end for incompatible TensorRT versions (<=10.3.0) to prevent known build failures.
    • INT8 calibration now handles small datasets more gracefully by reducing batch size instead of hard-failing in some cases.
  • 🐳 Docker and CI environment updates

    • Base Docker image moved to PyTorch 2.10.0 (CUDA/cuDNN runtime unchanged).
    • Added UV_BREAK_SYSTEM_PACKAGES=1 across Dockerfiles for more consistent installs.
    • New Dockerfile-runner-cpu and broader CI runner improvements (CPU labels, tooling like sudo, nodejs, npm, gpg).
    • CI expanded to test Torch 2.10.0 + Torchvision 0.25.0.
  • πŸ› οΈ Reliability/bug fixes

    • FastSAM text-prompt index remapping fix (better mask selection consistency).
    • ClearML callback fix to prevent remote override conflicts with Ray Tune hyperparameters.
    • Dataset cache loading/saving made more robust against environment mismatches and partial-write failures.
  • πŸ“š Docs and dataset additions

    • Added DOTA128 OBB dataset config/docs (good middle ground between DOTA8 and full DOTA).
    • Expanded Ultralytics Platform docs (SAM model selection incl. SAM 3, team/workspace docs, training/billing clarifications, Docker image guides).
    • Device docs updated to include NPU usage.

🎯 Purpose & Impact

  • For Ascend users: You now get first-class basic device selection for Huawei NPUs, making it easier to run training/inference without custom hacks ⚑.
  • For training at scale: Multi-GPU workflows with custom augmentations are more dependable, reducing frustrating DDP issues βœ….
  • For deployment/export users: Fewer export-time surprises, especially with ONNX/TensorRT compatibility on modern stacks πŸ“€.
  • For Docker/CI users: More up-to-date and consistent environments mean fewer setup/build breakages 🧩.
  • For everyone: Overall this release is about practical robustnessβ€”better hardware compatibility, safer exports, and smoother day-to-day usage with YOLO11/YOLO26 ecosystems πŸ™Œ.

What's Changed

New Contributors

Full Changelog: v8.4.21...v8.4.22

Don't miss a new ultralytics release

NewReleases is sending notifications on new releases.