🌟 Summary
This release primarily fixes MNN loading on newer Linux systems, while improving ONNX deployment options, export reliability, and several training and inference workflows.
📊 Key Changes
- MNN on newer Linux: The headline change addresses an import failure on glibc 2.41+ systems, including Ubuntu 25.04/26.04 and Debian 13. Ultralytics now clears an unused executable-stack flag in affected MNN x86_64 modules before importing them, allowing MNN export and inference to work.
- More ONNX deployment choices: On supported Windows 11 systems, users can explicitly install Windows ML’s ONNX Runtime and let it select hardware execution providers. Existing session options are preserved.
- Improved Edge TPU exports on Python 3.13: TensorFlow export now uses a compatible
onnx2tf1.x version across Python versions. In reported testing, this changed a YOLO26 export from 20 to 652 operations mapped to the Edge TPU, with far fewer left for the CPU. - Training and inference fixes: Classification resume now retains the checkpoint’s image size. LLM image input handles 16-bit PIL and NumPy images more consistently, and failed training runs clean up experiment-tracking runs and Platform console capture.
- Other reliability and performance improvements: HSV augmentation now uses a single multi-channel lookup operation; large confusion-matrix plots retain the background row and column; and Google Drive downloads better support direct links and uppercase URLs.
- Platform and documentation updates: Docs now cover importing W&B checkpoints and clarify cloud-storage AI features, image-generation permissions, Roboflow imports, and browser-side image resizing. Citation blocks are also presented consistently across documentation.
🎯 Purpose & Impact
- Unblocks MNN users on modern Linux: The executable-stack flag was not needed by MNN’s kernels, but newer glibc versions reject it. Clearing it should restore MNN imports without changing MNN’s actual inference behavior.
- Expands hardware deployment options: Windows ML provides an opt-in route for ONNX inference on supported Windows devices, while the
onnx2tfadjustment helps more exported model operations run on Edge TPU rather than falling back to CPU. - Makes workflows more dependable: Resuming classification training, passing image data to LLMs, downloading Google Drive files, and handling training failures should now behave more consistently.
- Makes Platform capabilities and requirements easier to understand: The documentation clarifies how to connect and use integrations, including when cloud-storage write access is needed.
What's Changed
- Standardize citation admonition titles across docs by @glenn-jocher in #26844
- Chatbot sweep: show where to open dataset split redistribution by @glenn-jocher in #26848
- Document AI features for Platform cloud storage integrations by @glenn-jocher in #26853
- Document Platform W&B imports and refresh integration screenshots by @glenn-jocher in #26858
- Describe which images the Platform Predict tab resizes and refresh the signup screenshot by @raimbekovm in #26852
- Resolve Google Drive direct download links and any-case share links by @raimbekovm in #26857
- Keep the background row and column in downsampled confusion matrix plots by @MohammadHijjawi97 in #26845
- Speed up RandomHSV augmentation with a single multi-channel LUT by @cainiao33 in #26839
- Scale 16-bit PIL and NumPy images in LLM image input like image paths by @raimbekovm in #26855
- Use onnx2tf 1.x on Python 3.13 to fix Edge TPU op mapping by @Y-T-G in #26849
- Preserve classification resume image size and remove the broken torchvision shortcut by @Nikhi00718 in #26808
- Close tracking runs and stop console capture after training errors by @raimbekovm in #26825
- Support opt-in Windows ML through the existing ONNX backend by @Y-T-G in #26784
- Load MNN on glibc 2.41+ by clearing its unused executable-stack flag by @glenn-jocher in #26861
Full Changelog: v8.4.184...v8.4.185