pypi ultralytics 8.4.91
v8.4.91 - Exclude `Sigmoid`/`Softmax` from TensorRT INT8 quantization (#25020)

4 hours ago

🌟 Summary

Ultralytics v8.4.91 improves YOLO26 deployment quality—especially TensorRT INT8 confidence calibration—while adding stronger automated CLI fuzz testing, better export reliability, and many training/inference bug fixes 🚀

📊 Key Changes

  • Improved TensorRT INT8 exports for YOLO26 confidence scores ⚡

    • Excludes the Sigmoid operation from INT8 quantization in TensorRT export paths.
    • Applies higher precision for Sigmoid across TensorRT 7 through TensorRT 11+ using the appropriate backend mechanisms.
    • Adds GPU export test coverage for static INT8 detection exports.
  • Added daily YOLO CLI fuzz testing 🧪

    • Introduces a new Monte Carlo fuzzing workflow for the yolo CLI across train, export, predict, validation, and chaos-style command variations.
    • Automatically classifies failures, confirms reproducible issues, deduplicates findings, and can file GitHub issues for confirmed bugs.
  • Improved ONNX INT8 export reliability 🔧

    • ONNX INT8 quantization now focuses only on weighted operations such as Conv, Gemm, and MatMul.
    • INT8 ONNX exports are capped to a compatible opset to avoid unsupported ONNX Runtime static quantization paths.
  • Better pretrained fine-tuning behavior 🎯

    • Adds class-name-based remapping for pretrained detection heads when fine-tuning on datasets with reordered or partially matching class names.
    • Helps transfer learned weights more accurately instead of relying only on class index order.
  • Multiple inference, validation, and tracking fixes ✅

    • Fixes track() crashes caused by CPU/GPU tensor mismatches when using exported models with the default tracker.
    • Fixes classes filtering being applied after max_det truncation for end-to-end NMS models, which could return too few or zero detections.
    • Fixes pose validation save_txt=True keypoint scaling so saved keypoints correctly align with original image coordinates.
    • Fixes several Ultralytics Solutions crashes with OBB models, including Heatmap and ObjectBlurrer.
  • Improved support for non-RGB and custom-channel workflows 🌈

    • Fixes knowledge distillation warmup for grayscale and other non-3-channel datasets.
    • Fixes TensorBoard graph logging for multispectral or custom-channel training.
    • Fixes classification transforms so custom interpolation is respected for non-square image sizes.
  • Export and platform reliability improvements 🧩

    • Edge TPU compiler failures now raise clear errors instead of returning corrupt stub files.
    • ExecuTorch and ARM export dependencies are pinned more safely to avoid upstream Torch compatibility breakage.
    • Version comparison logic now handles 4-part package versions like 4.13.0.90 correctly.
    • Windows OpenVINO CI coverage is kept while limiting CPU instruction dispatch for more stable tests.
  • Documentation refreshes 📚

    • Large updates to classification, detection, and OBB dataset docs with verified image counts, split details, clearer usage examples, and better dataset descriptions.
    • Adds or updates YOLO26 tutorial videos, including semantic segmentation documentation.
    • Clarifies Ultralytics Platform data residency details and improves Hailo docs formatting.
  • CI and Docker workflow hardening 🐳

    • Codecov uploads are now best-effort, so external reporting outages do not fail otherwise successful test jobs.
    • Docker validation containers are auto-removed and test assets are pre-cached before running tests.

🎯 Purpose & Impact

  • More accurate TensorRT INT8 confidence calibration 📈

    • Keeping Sigmoid at higher precision helps prevent confidence-score compression in YOLO26 TensorRT INT8 exports.
    • This can improve F1 calibration and reduce deployment surprises for users relying on INT8 acceleration.
  • More reliable production exports 🚀

    • ONNX, TensorRT, Edge TPU, ExecuTorch, OpenVINO, and ARM-related fixes reduce export failures and make deployment behavior clearer across platforms.
  • Fewer silent or confusing failures 🛡️

    • Invalid CLI/config values, failed Edge TPU compilers, unsupported dependency combinations, and broken tracking/device paths are now handled more robustly.
  • Better results when fine-tuning custom datasets 🎓

    • Class-name-aware head remapping helps users reuse pretrained models more effectively when dataset class order differs from the original model.
  • Stronger support for specialized vision data 🛰️

    • Grayscale, multispectral, OBB, pose, and custom-channel workflows receive important fixes, helping users working beyond standard RGB detection.
  • Higher long-term stability through fuzzing 🧪

    • The new scheduled CLI fuzz workflow should uncover edge-case bugs that normal test matrices miss, improving future release quality for both developers and end users.
  • Clearer learning and dataset guidance 📖

    • Refreshed docs make it easier to choose datasets, understand dataset structure, train YOLO26 models, and use Ultralytics Platform for annotation, training, and deployment.

What's Changed

New Contributors

Full Changelog: v8.4.90...v8.4.91

Don't miss a new ultralytics release

NewReleases is sending notifications on new releases.