🌟 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
filelockas 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
classMappingparameter for mapping incoming archive classes to existing dataset classes. - Supports numeric class indexes, class names, and
nullto skip labels.
- Documents the
-
📚 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
- Add https://youtu.be/rTblZN9IRDo to docs by @RizwanMunawar in #25268
- docs: document classMapping parameter for dataset ingest by @amanharshx in #25272
- Fix MNIST creator link and CI table by @glenn-jocher in #25273
- Document On Premise training data boundaries by @glenn-jocher in #25274
- Fix training from signed NDJSON URLs by @glenn-jocher in #25275
- Add Platform image validation metrics by @glenn-jocher in #25265
- Capture best and worst validation images by @glenn-jocher in #25279
- Fix concurrent NDJSON cache reuse by @glenn-jocher in #25278
- Add Hailo pose, OBB, and classification export and inference for YOLOv8 and YOLO11 by @JESUSROYETH in #25276
Full Changelog: v8.4.100...v8.4.101