pypi ultralytics 8.4.94
v8.4.94 - Remove TorchScript mobile optimization (#25140)

latest release: 8.4.95
12 hours ago

🌟 Summary

πŸš€ Ultralytics 8.4.94 modernizes deployment, improves validation and tracking reliability, and expands edge-device and dataset documentation.

πŸ“Š Key Changes

  • TorchScript mobile optimization removed πŸ› οΈ

    • Removed the deprecated PyTorch Mobile/XNNPACK optimization path and the TorchScript optimize argument.
    • Regular TorchScript export remains available for legacy C++ and LibTorch applications.
    • Mobile deployments are now directed to ExecuTorch, PyTorch’s supported successor for mobile and edge inference.
    • The optimize argument is retained for DEEPX exports only.
  • New Ambarella CVflow deployment guide πŸ“·

    • Added a preview workflow for deploying YOLO models on Ambarella SoCs such as CV72 and CV75.
    • Documents SpongeTorch compression-aware training, ONNX export, offline CVflow compilation, AmbaPB inference, and host-side validation.
    • The guide is clearly marked as an early preview and requires Ambarella’s proprietary SDK and toolchain.
  • Improved semantic segmentation dataset support 🧩

    • Expanded and corrected documentation for ADE20K, Cityscapes, and Cityscapes8.
    • Clarified manual download requirements, dataset sizes, test-set limitations, licensing, class mappings, and benchmark usage.
    • Semantic segmentation can now automatically detect a root-level masks/ directory when selecting PNG-mask data.
    • Added guidance for using polygon labels and Smart annotation through Ultralytics Platform.
  • Dataset configuration validation strengthened βœ…

    • Dataset fraction must now be greater than zero, preventing empty training datasets caused by fraction=0.
    • Other fractional settings, such as dropout and scale, continue to allow zero.
  • Pose26 training loss corrected 🎯

    • Fixed loss selection when Pose26 models run with end-to-end mode disabled.
    • This ensures keypoint decoding and training loss remain aligned across Pose and Pose26 model heads.
  • ReID tracking made more robust πŸ”

    • Invalid or empty detection crops are now skipped instead of causing crashes.
    • Original detection ordering is preserved, with missing appearance features represented as None so trackers can fall back to motion or IoU association.
  • LVIS downloads reduced πŸ’Ύ

    • Removed the unused 7 GB test2017.zip download because LVIS does not define a test split.
    • Updated the documented total download size to 20.7 GB.
  • Documentation and CI cleanup πŸ“š

    • Added an Ambarella integration entry and refreshed deployment guidance.
    • Removed outdated CI table entries and redundant YAML terminology.
    • Added more dataset provenance, annotation, licensing, and usage notes.

🎯 Purpose & Impact

  • πŸ“± More future-proof mobile deployment: Users targeting new mobile or edge applications should migrate from TorchScript Mobile to ExecuTorch. Existing C++ TorchScript workflows continue to work, but mobile optimization through optimize=True is no longer supported.
  • βš™οΈ Cleaner export behavior: Removing obsolete mobile branches and guards reduces maintenance complexity and avoids relying on deprecated PyTorch APIs.
  • πŸš€ Broader edge hardware coverage: Ambarella users now have a documented path from YOLO training to compressed, compiled CVflow models, although the integration remains experimental and vendor verification is pending.
  • πŸ›‘οΈ Fewer runtime failures: Invalid dataset fractions, incorrect Pose26 loss selection, and empty ReID crops are detected or handled more safely.
  • πŸ“‰ Lower setup overhead for LVIS: Fresh LVIS users avoid downloading an unnecessary 7 GB archive.
  • πŸ“– Clearer, more accurate documentation: Dataset limitations, licensing requirements, manual downloads, and semantic segmentation behavior are now easier to understand and less likely to cause setup or evaluation mistakes.

What's Changed

New Contributors

Full Changelog: v8.4.93...v8.4.94

Don't miss a new ultralytics release

NewReleases is sending notifications on new releases.