pypi ultralytics 8.4.79
v8.4.79 - Optimize semantic class-map exports (#24598)

latest release: 8.4.80
7 hours ago

🌟 Summary

v8.4.79 is a performance-focused release led by a major upgrade to semantic segmentation exports πŸš€, plus several quality-of-life improvements in deployment, docs, and developer tooling.

πŸ“Š Key Changes

  • Big semantic segmentation export boost ⚑
    The standout update from PR #24598 by @onuralpszr makes ONNX and TFLite semantic segmentation exports much faster and lighter by baking the class selection step directly into the exported model.

    • Exported models now output compact class maps instead of large raw score tensors.
    • Reported output size can drop from about 159 MB to 2 MB πŸ“‰
    • Inference can be up to 10Γ— faster for this use case.
  • Better semantic export compatibility 🧠
    Runtime and postprocessing were updated so exported semantic models work correctly whether they return:

    • traditional floating-point logits, or
    • the new precomputed integer class maps.
  • Smaller and simpler similarity search setup πŸ”
    PR #24931 by @glenn-jocher removes heavier optional dependencies from the solutions extra:

    • FAISS was replaced with a NumPy-based search approach
    • openai-clip is no longer bundled there as an install dependency
      This makes installs leaner while keeping semantic image search working.
  • Tracking code cleanup with no output changes πŸ› οΈ
    PR #24930 by @glenn-jocher simplifies tracker internals by removing duplicated Kalman update logic and reusing helper functions.

    • Important note: ByteTrack, BoT-SORT, and OC-SORT behavior stays effectively unchanged.
  • Clearer validation for RegionCounter πŸ›‘οΈ
    PR #24890 adds a more understandable error when a region polygon has too few points, making debugging easier for users building region-based counting apps.

  • Large documentation refresh across deployment and workflow guides πŸ“š
    Many merged PRs improved guides for:

    • AzureML, Modal, Triton, Raspberry Pi, DeepStream, DALI, and ROS
    • preprocessing, evaluation, fine-tuning, deployment choices, monitoring, and troubleshooting
      These changes don’t introduce major runtime features, but they make setup and usage more accurate and easier to follow.

🎯 Purpose & Impact

  • Faster semantic segmentation on edge and mobile πŸ“±
    The main export change is especially valuable for ONNX and TFLite deployments, where output size and postprocessing overhead matter a lot.

  • Lower memory and bandwidth costs πŸ’Ύ
    By returning compact class IDs instead of huge dense outputs, semantic models become much more practical for embedded devices, mobile apps, and production pipelines.

  • Simpler deployment pipelines 🚚
    Baking argmax into the exported model means less custom postprocessing code outside the model, which reduces integration complexity and potential errors.

  • Lighter installs for solution users πŸͺΆ
    The dependency cleanup should make optional solution environments easier to install and maintain, especially in constrained or CI environments.

  • Improved reliability and usability βœ…
    Better validation messages, cleaned-up internals, and more accurate docs help both new and advanced users work faster with fewer confusing issues.

Overall, this release is most important for anyone using semantic segmentation with ONNX or TFLiteβ€”those users should see the biggest real-world gains in speed, output size, and deployment simplicity πŸŽ‰

What's Changed

Full Changelog: v8.4.78...v8.4.79

Don't miss a new ultralytics release

NewReleases is sending notifications on new releases.