pypi ultralytics 8.4.101
v8.4.101 - Add Hailo pose, OBB, and classification export and inference for YOLOv8 and YOLO11 (#25276)

14 hours ago

🌟 Summary

🚀 Ultralytics v8.4.101 expands Hailo deployment support across nearly the full YOLO task range and strengthens NDJSON dataset reliability, Platform validation insights, and documentation.

📊 Key Changes

  • 🧠 Expanded Hailo export and inference

    • format="hailo" now supports:
      • Object detection
      • Instance segmentation
      • Pose estimation
      • Oriented bounding boxes (OBB)
      • Image classification
    • Added support for YOLOv8 and YOLO11 pose, OBB, and classification models.
    • Added YOLO26 classification export support.
    • Hailo classification models now return probabilities directly using on-chip softmax.
    • Pose and OBB outputs are decoded through the standard Ultralytics inference pipeline.
    • YOLO26 pose, OBB, and segmentation remain unsupported and are rejected before compilation.
    • Pose, OBB, and classification paths were validated on Hailo-8L with HailoRT 4.23 and DFC 3.33. Other targets are accepted but require separate validation.
  • 🛡️ More reliable NDJSON dataset conversion

    • Signed NDJSON URLs with authentication query parameters are now recognized correctly.
    • Added file locking to prevent multiple training jobs from converting the same dataset simultaneously.
    • Interrupted downloads can resume without unnecessarily redownloading completed images.
    • Dataset completion markers prevent partially converted datasets from being reused.
    • Preserves safe content hashes in generated filenames while maintaining collision protection.
    • Added filelock as a required dependency.
  • 📈 Improved Platform validation reporting

    • Training now records both the worst-performing and best-performing validation images.
    • Reports up to 25,000 images from each cohort, while preserving the existing 50,000-row transport limit.
    • Includes true positives, false positives, and false negatives for each selected image.
  • 🏢 Clearer On Premise data boundaries

    • Documentation now explains which data stays local and which information is uploaded.
    • Source dataset pixels remain on the local machine, while labels, annotations, metrics, and the best model checkpoint can be sent to Platform.
    • Documents the exact Docker images used for ARM64, CPU, and NVIDIA environments.
  • 🗂️ Improved dataset ingest documentation

    • Documents the classMapping parameter for mapping incoming archive classes to existing dataset classes.
    • Supports numeric class indexes, class names, and null to skip labels.
  • 📚 Documentation and maintenance updates

    • Refreshed the VisDrone tutorial video and MNIST creator link.
    • Removed the obsolete HUB-SDK entry from the CI documentation.
    • Added internal NDJSON conversion reference documentation.

🎯 Purpose & Impact

  • 🚀 Broader edge deployment options: Hailo users can deploy more YOLO task types directly to Hailo HEF without building separate conversion pipelines.
  • ⚡ Better hardware acceleration: Classification softmax runs on the Hailo device, while pose and OBB decoding integrates with normal Ultralytics inference.
  • 🔒 Safer concurrent training: Multiple jobs using the same NDJSON source are less likely to corrupt or duplicate cached data.
  • ⏱️ Faster recovery from interruptions: Failed image downloads can resume from the existing cache instead of starting over.
  • 🔍 More actionable model evaluation: Platform users can inspect both failure cases and strong-performing validation examples, making dataset and model improvements easier.
  • 🏢 More transparent enterprise workflows: On Premise users have clearer expectations about data residency and model-weight uploads.
  • ⚠️ Deployment note: Hailo compilation is hardware- and compiler-specific. New pose, OBB, and classification exports should be validated on the target accelerator before production use.

What's Changed

Full Changelog: v8.4.100...v8.4.101

Don't miss a new ultralytics release

NewReleases is sending notifications on new releases.