๐ Summary
๐ v8.4.100 expands edge deployment capabilities with Hailo instance segmentation support for YOLOv8 and YOLO11, while improving deployment guidance, training validation, Platform workers, fuzz testing, and export reliability.
๐ Key Changes
-
๐ข Hailo instance segmentation export and inference
- Added Hailo HEF export support for YOLOv8-seg and YOLO11-seg.
- Hailo exports raw segmentation tensors, while Ultralytics handles decoding, bounding-box processing, NMS, and mask generation during inference.
- Segmentation models do not use Hailoโs on-chip NMS configuration.
- YOLO26 segmentation is explicitly rejected with a clear error because Hailo-8/8L hardware cannot allocate its attention-based architecture.
-
๐ Improved Hailo INT8 deployment documentation
- Added practical accuracy expectations for YOLOv8, YOLO11, and YOLO26 on Hailo-8L.
- Documents that calibration data should closely match the production domain.
- Notes that YOLO26 confidence scores may be approximately 0.05 lower on Hailo devices.
- Explains why attention layers can be more sensitive to INT8 quantization on Hailo-8/8L.
-
โ ๏ธ Clearer TensorRT compatibility guidance
- Platform documentation now warns that downloaded TensorRT engines must match the target GPU family, TensorRT version, CUDA runtime, and build environment.
- Users with mismatched environments are directed to export engines locally on the deployment device.
-
๐งช Broader and more effective fuzz testing
- Fuzzing now covers tracking, cached video, malformed media, Unicode paths, additional model families, and CoreML on macOS.
- Duplicate commands are skipped and shell-safe reproducer commands are generated.
- Fuzzing budgets increase from 285 to 300 minutes per run.
-
๐ Cleaner training errors for invalid small configurations
- Training now raises an actionable error when
batch=1is used with an image size too small for BatchNorm. - This replaces a confusing low-level PyTorch failure with guidance to increase the batch size or image size.
- Training now raises an actionable error when
-
๐ง More reliable Axelera exports
- Pins
omnimalloc==0.5.0to avoid compatibility failures with Axelera Devkit 1.7.0. - Runtime checks now validate the same allocator version before export.
- Pins
-
โ๏ธ Improved Platform managed-worker integration
- Reuses existing Platform training callbacks for managed workers.
- Supports configurable Platform API endpoints through
PLATFORM_API_URL. - Training output paths now respect the current
SETTINGS["runs_dir"]value at runtime.
๐ฏ Purpose & Impact
- Edge users gain a new deployment option: YOLOv8 and YOLO11 segmentation models can now run on Hailo accelerators, including Hailo-8, Hailo-8L, Hailo-10, and Hailo-15.
- Inference behavior remains consistent: Hailo segmentation outputs are converted into the standard Ultralytics format, allowing existing predictor post-processing and mask workflows to remain unchanged.
- Deployment accuracy expectations are clearer: Users can better estimate INT8 performance and avoid misleading comparisons between PyTorch and Hailo results.
- Fewer deployment surprises: TensorRT and Axelera compatibility warnings help users identify environment mismatches before runtime failures.
- More understandable training failures: Invalid batch/image-size combinations now fail early with a practical fix instead of producing an obscure internal exception.
- Higher software reliability: Expanded fuzz coverage and duplicate elimination should uncover more real edge cases while reducing wasted test time.
๐ For the simplest workflow to annotate datasets, train models, and deploy them, visit the Ultralytics Platform.
What's Changed
- Document Hailo INT8 accuracy expectations and deployment guidance by @JESUSROYETH in #25260
- Warn on TensorRT/CUDA version mismatch in Platform Models export docs by @lakshanthad in #25263
- Expand fuzz exploration envelope by @glenn-jocher in #25262
- Raise clean error for batch=1 training at minimum imgsz by @glenn-jocher in #25264
- Fix flaky Axelera export environment by @glenn-jocher in #25267
- Reuse Platform callbacks for managed workers by @glenn-jocher in #25266
- Add Hailo segmentation export and inference for YOLOv8 and YOLO11 by @JESUSROYETH in #25259
Full Changelog: v8.4.99...v8.4.100