π Summary
v8.4.114 improves reliability across Platform workflows, exported models, validation, edge inference, and advanced vision tasksβwhile delivering clearer errors and faster, more robust execution. π
π Key Changes
-
Clearer Ultralytics Platform errors and quieter retries β PR #25581 by @glenn-jocher:
- Platform URI resolution now uses
GETinstead ofHEAD, preserving the detailed error messages returned by the Platform. - API errors such as invalid credentials, inaccessible datasets, and malformed pose labels now include actionable details.
- Console-output upload failures no longer create a feedback loop where logged retry warnings trigger additional failed uploads.
- Platform requests now stop early when no API key is available, and invalid credentials disable further attempts.
- Platform URI resolution now uses
-
Improved exported-model validation:
- Static ONNX, TensorRT, OpenVINO, and similar models now automatically reuse the image size stored in export metadata.
- Users no longer need to manually provide the exact export
imgszduring validation. β
-
More reliable model export and deployment:
- Fixed GPU device mismatches during TorchScript inference by ensuring generated anchors follow the runtime device.
- Prompt-free YOLOE exports now work correctly with NCNN and Paddle formats.
- Loading a TorchScript archive as if it were a PyTorch checkpoint now produces a clearer error message.
- Paddle export compatibility was improved for newer Python and x2paddle environments.
-
Faster LiteRT CPU inference:
- LiteRT now uses the configured number of CPU threads, enabling multi-core inference.
- Raspberry Pi 5 LiteRT benchmarks were corrected for YOLO26n and YOLO26s, showing substantially lower latency than previously reported. β‘
-
Fixes for SAM3, visualization, and pose rendering:
- SAM3 semantic prediction now defines the required mask threshold and avoids an
AttributeError. - Class activation maps safely handle class IDs outside a modelβs output range.
- Pose keypoints and limbs located exactly on image borders are now rendered correctly instead of being silently dropped.
- SAM3 semantic prediction now defines the required mask threshold and avoids an
-
Improved training and data pipelines:
- BGR augmentation now applies correctly to semantic segmentation and depth training.
- Distributed validation no longer crashes when the total batch size exceeds the number of validation images.
- Dataset YAML validation handles empty
namesfields more safely. - Analytics line charts now accumulate counts across the configured update window instead of resetting every frame.
-
Documentation and maintenance updates:
- Added missing validation documentation for
channels_last. - Documented class remapping and depth-loss training parameters.
- Updated augmentation support tables for semantic and depth tasks.
- Fixed Intel DL Streamer installation links and similarity-search examples.
- Removed several redundant regression tests to reduce test-suite maintenance overhead. π
- Added missing validation documentation for
π― Purpose & Impact
- π οΈ Faster troubleshooting: Platform failures now explain what went wrong, helping users fix dataset, authorization, and configuration issues without repeated trial and error.
- π More stable automation: Console logging will no longer feed failed messages back into Platform upload retries, reducing noisy logs and unnecessary network traffic.
- β Simpler validation: Exported models can generally be validated without manually matching their original image size and batch settings.
- π Better edge performance: Multi-core LiteRT support can significantly improve CPU inference speed on devices such as Raspberry Pi 5.
- π¦ Broader deployment compatibility: TorchScript, NCNN, Paddle, and other export paths are more dependable across devices and Python environments.
- π― More robust vision workflows: SAM3, pose visualization, CAM generation, depth, semantic segmentation, and distributed validation now handle common edge cases more gracefully.
- π Clearer documentation: Users can more easily discover supported arguments and follow current Intel and similarity-search setup instructions.
What's Changed
- Enable multi-core Google LiteRT CPU inference by @lakshanthad in #25562
- Update Raspberry Pi 5 benchmarks with Google LiteRT using multi-cores by @lakshanthad in #25564
- Fix
AttributeErroronmask_thresholdin SAM3 semantic prediction by @JESUSROYETH in #25563 - Fix installation guide links in Intel DL Streamer documentation by @onuralpszr in #25574
- Remove tests added alongside small bug-fix PRs by @Laughing-q in #25578
- Reuse imgsz from export metadata when validating static exported models by @synml in #25559
- Document channels_last in the validation args table by @synml in #25561
- Apply the bgr augmentation to semantic and depth training by @raimbekovm in #25580
- Fix IndexError in class_activation_map with out-of-range classes by @leoventuroso in #25582
- Fix
Annotator.kpts()dropping keypoints and limbs on image borders by @JESUSROYETH in #25565 - Fix: Analytics line chart total_counts resets before update_graph consumes it by @Zenka737 in #25567
- Fix NCNN and Paddle export of prompt-free YOLOE models by @Y-T-G in #25568
- Fix DDP error when total batch size is higher than validation images by @Y-T-G in #25576
- Document depth loss gains and attribute semantic and depth in the argument tables by @raimbekovm in #25577
- fix
Pythonsyntax error insimilarity-searchsolution by @RizwanMunawar in #25579 - Fix TorchScript GPU inference device mismatch by @Y-T-G in #25569
- Surface Platform error messages and stop the console-output retry loop by @glenn-jocher in #25581
New Contributors
- @leoventuroso made their first contribution in #25582
Full Changelog: v8.4.113...v8.4.114