Skip to content

Releases: ultralytics/ultralytics

v8.3.56 - `ultralytics 8.3.56` PaddlePaddle GPU Inference support (#18468)

31 Dec 12:58
5d8e158
Compare
Choose a tag to compare

🌟 Summary

The v8.3.56 release introduces GPU support for PaddlePaddle inference and export, along with several key bug fixes, usability enhancements, and documentation updates. 🚀


📊 Key Changes

  1. PaddlePaddle GPU Inference:

    • Added GPU support for PaddlePaddle inference by dynamically checking CUDA availability.
    • Improved compatibility in PaddlePaddle dataloader handling.
  2. UTF-8 Bug Fix:

    • Resolved encoding issues in convert_coco when dealing with non-UTF-8 annotation files.
  3. Dataset Annotation Optimizations:

    • Improved performance and speed for large annotations in the GroundingDataset class.
  4. Export Enhancements:

    • OpenVINO INT8 Export Fix: Resolved an OpenVINO export error by resetting clip_model during export.
    • IMX Export Clarification: Limited IMX export support exclusively to YOLOv8n models.
    • ONNX2TF Compatibility: Updated compatibility with onnx2tf library (v1.26.3), fixing memory and bloated file issues.
  5. Documentation Improvements:

    • Deprecated Jupyter documentation in favor of a markdown-based structure (e.g., explorer.md).
    • Simplified NVIDIA Jetson setup steps by adding streamlined installation commands for PyTorch and Torchvision.
    • Added new guides for thread-safe inference and ROS integration for robotics applications.
  6. Minor Model Updates:

    • Clarified YOLOv6 configuration by emphasizing YAML-based model definitions instead of weight files.

🎯 Purpose & Impact

  • Improved Compatibility: Seamless PaddlePaddle operations on GPU ensure better flexibility for diverse hardware setups. 🖥️⚡
  • Faster Annotations: Accelerated handling of large datasets benefits advanced AI workflows. 🕒✨
  • Enhanced Export Reliability: Fixes to export pipelines (OpenVINO, IMX, ONNX2TF) ensure robust and error-free deployment. 📦✅
  • Accessible Learning Resources: Documentation enrichments support a smoother onboarding of new users and integrations in fields like robotics. 📚🤖
  • Streamlined User Experience: Simplified installation and setup processes save time and reduce confusion for developers. 🛠️🎉

This release continues to refine functionality and usability for both developers and users across varied use cases.

What's Changed

New Contributors

Full Changelog: v8.3.55...v8.3.56

v8.3.55 - `ultralytics 8.3.55` New Medical-pills dataset (#18389)

26 Dec 13:25
cf9ab17
Compare
Choose a tag to compare

🌟 Summary

The v8.3.55 release of Ultralytics YOLO introduces a new dataset, Medical Pills Detection Dataset, aimed at advancing AI applications in pharmaceutical automation, alongside several feature enhancements, bug fixes, and documentation improvements. 💊💻✨


📊 Key Changes

  • New Dataset Added: Medical Pills with 92 training and 23 validation images. 🩺
  • Enhanced auto_annotate Documentation: Centralized details of YOLO-SAM integration for creating segmentation datasets. 📖
  • Fixed ConfusionMatrix: Corrected FP calculation logic for unmatched predictions. 🛠️
  • User-Friendly Updates: Improved workflow cloning speeds and UI components for solutions workflows. 🚀
  • Code Quality Upgrades: Type hinting for better flexibility, Python 3.12 support tweaks, and bug fixes. ⚙️

🎯 Purpose & Impact

  • Purpose:

    • Enable automation in pharmaceutical workflows, e.g., pill quality control and sorting.
    • Provide clearer usage examples for dataset annotation via YOLO-SAM tools.
    • Refine existing tools with a developer-friendly codebase.
  • Impact:

    • Improved AI Training: Medical innovators can train models for specific industries using the new dataset.
    • Documentation Clarity: Ease of adoption for advanced features like hybrid YOLO-SAM workflows.
    • Bug Fixes: These ensure more accurate predictions (e.g., ConfusionMatrix FP fix) and reduce user-errors in workflows.
    • Streamlined DevOps: Faster docs deployment and CI pipelines benefit larger teams.

🚀 This release is a forward leap for developers and researchers aiming to innovate in specialized fields like healthcare!

What's Changed

New Contributors

Full Changelog: v8.3.54...v8.3.55

v8.3.54 - `ultralytics 8.3.54` New Streamlit inference Solution (#18316)

24 Dec 11:27
51026a9
Compare
Choose a tag to compare

🌟 Summary

Ultralytics v8.3.54 delivers a significant overhaul in the Streamlit-based real-time inference solution, making it easier for users to perform live predictions with a better interface. It also introduces enhancements around exporting flexibility for OpenVINO models, updates to documentation for YOLO11 use, and streamlines development and compatibility workflows.


📊 Key Changes

  • 🚀 Revamped Streamlit Inference Tool: Streamlit apps now feature an all-new Inference class.
    • Sidebar for quick video source, model selection, and settings like confidence thresholds.
    • Support for webcam and video uploads for real-time predictions and visualizations.
    • Enhanced interactivity with class selection, live FPS monitoring, and tracking features.
  • 📦 OpenVINO Export Enhancements:
    • Added support for dynamic shapes, expanding deployment flexibility.
    • Unified argument ordering (batch, dynamic, etc.) across multiple export formats.
  • 📖 YOLO11 Documentation Updates: Updated guides to reflect the latest YOLO11 usage in region counting.
  • 🐍 Python Workflow Updates: Minimum Python version for CI workflows updated to 3.9 for compatibility alignment.
  • 🌐 ONNXRuntime Example for RTDETR:
    • Added an example for deploying RTDETR models with ONNXRuntime in Python.
  • ⚙️ Dependency Updates: Updated GitHub Actions setup-uv workflow to v5 to improve caching and build processes.

🎯 Purpose & Impact

  • Better User Experience with Streamlit:
    • Easier navigation and configuration for real-time inference tasks. 🖥️
    • Developers and beginners alike can now perform live inference with minimal setup.
  • Deployment Flexibility: Support for dynamic OpenVINO exports ensures models work smoothly across various scenarios and hardware configurations. 🧩
  • Clearer Documentation: The shift to YOLO11 references builds clarity and trust for users working with region-based object counting. 📘
  • Future-Proofing Development:
    • Updating Python versions ensures long-term ecosystem compatibility. 🔧
  • ONNXRuntime Examples: Simplifies adopting RTDETR models for developers using ONNXRuntime in Python, with clear setup and usage guidance. 🚀
  • Faster CI/CD Pipelines: Updated dependencies in GitHub workflows boost speed and efficiency. ⚡

This release is ideal for users looking for a blend of usability in inference workflows and robustness in model deployment workflows! 🌟

What's Changed

Full Changelog: v8.3.53...v8.3.54

v8.3.53 - `ultralytics 8.3.53` New Export argument validation (#18185)

22 Dec 01:03
1d13575
Compare
Choose a tag to compare

🌟 Summary

The v8.3.53 release introduces enhanced argument validation during model export to improve error handling and reduce user confusion, alongside other updates focusing on Dockerfile improvements for NVIDIA Jetson devices and internal code enhancements. 🚀


📊 Key Changes

Primary Feature: Enhanced Export Argument Validation

  • ✅ Introduced a mechanism to check whether export arguments are valid for specific formats (e.g., ONNX, TensorRT).
  • 🚫 Previously unsupported or incompatible arguments (e.g., int8 without required calibration data) will now raise clear errors.

Other Updates:

  • 🔧 JetPack Dockerfile Enhancements
    • JetPack 5: Updated base image, streamlined dependencies, and improved TensorRT compatibility.
    • JetPack 6: Removed unnecessary ONNX Runtime GPU package references for cleaner setup.
  • 🛠️ Improved settings.update() Validation: Ensures proper handling of input types and keys for user settings.
  • 🧹 Code Cleanup: Improved internal structures such as string representations for configuration objects (JSONDict) and URL handling (clean_url), improving performance and readability.

🎯 Purpose & Impact

  • Export Validation Improvements

    • 🚀 Provides users with immediate feedback on invalid export configurations.
    • 💪 Reduces confusion by preventing potentially misleading silent failures during export.
    • 🛡️ Ensures more reliable model deployment by enforcing compatibility checks early.
  • Jetson Dockerfile Updates

    • 🖥️ Increased compatibility with updated JetPack versions for NVIDIA Jetson devices.
    • 🔨 Streamlined setup for AI model training and deployment with YOLO on Jetsons.
  • User-Friendly Enhancements

    • 💡 Easier troubleshooting with clearer error messages for user settings and export configurations.
    • 📜 Simpler and more maintainable project codebase with reduced clutter in utilities and configuration processing.

This release strongly benefits both developers configuring their models for export and users building YOLO models on NVIDIA platforms, ensuring smoother workflows and better system compatibility. 🚦

What's Changed

Full Changelog: v8.3.52...v8.3.53

v8.3.52 - `ultralytics 8.3.52` AutoBatch CUDA computation improvements (#18291)

20 Dec 12:52
e3c4692
Compare
Choose a tag to compare

🌟 Summary

Version 8.3.52 focuses on enhanced CUDA memory management for improved performance, with additional updates to documentation, compatibility for NVIDIA Jetson devices, and refined functionality for YOLO models. 🚀

📊 Key Changes

  • 🚀 New cuda_memory_usage Utility: Introduced a tool for dynamic monitoring and management of CUDA memory during operations.
  • 💡 Improved Model Profiling: Integrated memory tracking into the profiling process to report GPU memory usage alongside performance stats.
  • 🔄 Enhanced Object Segmentation: Modified segment2box for precise bounding box calculations when segments extend beyond the image boundaries.
  • 📦 JetPack 6.1 Dockerfile Update: Added compatibility for NVIDIA Jetson Orin Nano Super Developer Kit with dependency upgrades and performance benchmarks.
  • 📖 Richer Documentation: Added a CIFAR-100 tutorial video, improved clarity on scale parameter for multiscale training, and updated ROS and NVIDIA Jetson guides.
  • 🧹 TFLite Example Cleanup: Removed unnecessary RGB-to-BGR conversions for simpler and clearer example usage.

🎯 Purpose & Impact

  • 🚀 Enhanced Performance: The cuda_memory_usage utility ensures more efficient GPU memory handling, reducing the risk of out-of-memory crashes during complex operations.
  • 📈 Model Optimization: Developers get richer profiling insights, aiding faster debugging and improving training/production readiness.
  • 🖼️ Robust Object Detection: Improved segmentation functionality provides accuracy even with challenging edge cases, making models more reliable.
  • 🤖 Wider Compatibility: Updating to JetPack 6.1 enables users to fully leverage NVIDIA Jetson’s latest hardware advancements (e.g., Orin Nano Super’s 67 TOPS).
  • 📚 Simplified Learning: Documentation improvements, including engaging tutorials and clarified parameters, lower the barrier to entry for both beginners and experts.
  • 🧑‍💻 Beginner-Friendly Examples: Streamlined TFLite examples ensure ease of adoption for new developers.

This release delivers meaningful improvements for developers working across GPU-heavy tasks, embedded systems, and edge AI deployments! 🚀

What's Changed

Full Changelog: v8.3.51...v8.3.52

v8.3.51 - `ultralytics 8.3.51` AutoBach logspace fit and checks (#18283)

17 Dec 19:07
31aaf0e
Compare
Choose a tag to compare

🌟 Summary

The Ultralytics v8.3.51 release introduces improved robustness for training batch size optimization, documentation enhancements, new features like a security alarm system, and updates to facilitate the transition from YOLOv8 to YOLO11. 🚀


📊 Key Changes

  • Improved Batch Size Calculation:
    • Automated batch size determination now uses logarithmic polynomial fitting for better accuracy. 🧮
    • Stricter checks ensure safe memory usage and prevent crashes due to misconfigurations. ✅
  • Hyperparameter Tuning:
    • Added default hyperparameter search spaces and clear examples in documentation for easier customization. 🛠️
    • Updated training process to improve reliability by using shell=True for subprocess execution. ⚙️
  • YOLO11 Integration:
    • Updated examples, references, and documentation to reflect the transition from YOLOv8 to YOLO11. 📚
    • Enhanced support for SAHI (Slicing Aided Hyper Inference) with YOLO11 models.
  • New Security Alarm System:
    • Added a ready-to-use, customizable security alarm system solution leveraging YOLO11. Includes email alerts when detections exceed thresholds. 🛡️
  • Expanded Export Options:
    • New formats supported, including MNN and Sony IMX500, enhancing deployment flexibility for diverse platforms. 🎉

🎯 Purpose & Impact

  • Optimized Performance:
    • The refined autobatch method improves training stability and GPU utilization across various devices, helping users achieve smoother workflows.
  • Enhanced Usability:
    • New documentation simplifies hyperparameter tuning for beginners and advanced users alike, reducing the learning curve.
    • Updates to SAHI and model examples make it easier to adopt YOLO11.
  • Greater Flexibility:
    • Broader export options and integration tools expand YOLO's adaptability for edge devices like IMX500.
  • Real-World Applications:
    • With the newly added Security Alarm System, users gain a powerful, practical monitoring tool ready for deployment in surveillance scenarios. 🚨

This release elevates Ultralytics by streamlining processes, expanding use cases, and improving reliability for developers and organizations. ⭐

What's Changed

Full Changelog: v8.3.50...v8.3.51

v8.3.50 - `ultralytics 8.3.50` Enhanced segment resample (#18171)

16 Dec 11:22
a3d807b
Compare
Choose a tag to compare

🌟 Summary

Release v8.3.50 introduces improvements to segment resampling logic, enhanced model handling during training and validation, documentation updates, and bug fixes across multiple areas for increased flexibility, accuracy, and usability. 🚀📘


📊 Key Changes

  • Enhanced Segment Handling:
    • Segment resampling now dynamically adjusts the number of points based on the longest segment for better consistency. 🖌️
    • Empty segments during concatenation are gracefully handled to avoid errors.
  • Improved Validation & Model Workflow:
    • Validation callbacks for OBB models now work correctly during training. 🔄
    • Updates to fix validation warnings when using untrained model YAMLs.
  • Model Saving Updates:
    • Improved checkpoint handling when saving models to reduce initialization errors. 💾
  • Documentation Tweaks:
    • Added multimedia content (audio & video) to YOLO11 documentation for a richer learning experience. 🎧🎥
    • Cleaned up outdated entries (like the Sony IMX500) and enhanced clarity with new formatting and annotated argument types.
    • Internal docs configuration now supports cleaner URLs and auto-deployment enhancements. 🌐
  • Bug Fixes:
    • Fixed CUDA-related bugs in the SAM module for more consistent device handling. 🛠️
    • Adjustments to prevent crashes in scenarios with mixed device usage.

🎯 Purpose & Impact

  • Reliability Boost: The improved resampling logic ensures stable training and avoids breaking workflows when handling variable-length segments.
  • 📈 Performance Optimization: Better checkpoint and validation handling streamlines user workflows and minimizes potential runtime errors.
  • 🌍 Usability Improvements: Updated Docs and multimedia resources make discovering and using features more user-friendly for both beginners and experts.
  • 🚀 Cross-Device Consistency: Fixes in CUDA logic ensure model compatibility on both CPU and GPU systems, enhancing accessibility.
  • 🖹 Clean Documentation: Removing outdated content and refining resources helps users focus on the latest tools and avoid confusion.

This update is pivotal for developers and users working with segmentation models, large datasets, or seeking smoother workflows during benchmarking, training, and inference with YOLO models.

What's Changed

New Contributors

Full Changelog: v8.3.49...v8.3.50

v8.3.49 - `ultralytics 8.3.49` Docker images `uv pip install` (#18115)

10 Dec 17:30
6c65d75
Compare
Choose a tag to compare

🌟 Summary

Version 8.3.49 introduces key updates across Docker workflows, YOLO evaluation indexing, PyTorch compatibility, and documentation. These changes enhance stability, compatibility, and user experience for developers and end-users. 🚀


📊 Key Changes

  • Docker Enhancements:

    • Replaced standard pip install with uv pip install for better Python package management. 🐍🛠️
    • System-level package installations across all Dockerfiles for increased reliability.
    • Included flags like --index-strategy to handle edge cases more robustly.
  • YOLO Dataset Compatibility:

    • Standardized category_id indexing in COCO and LVIS datasets, starting indices from 1 for consistency. 📊
  • PyTorch Version Support:

    • Added compatibility for PyTorch 2.5 and Torchvision 0.20 versions. 🔄
  • Documentation Improvements:

    • Updated NVIDIA Jetson guide to explain Deep Learning Accelerator (DLA) functionality and limitations more clearly. 📝
    • Refined export format table for YOLOv5 to include improved links to relevant integration guides. 🌐
  • Testing Optimization:

    • Removed slow and outdated Google Drive-dependent tests to streamline testing workflows. 🧪
  • GitHub Workflow Update:

    • Added a git pull step to ensure the latest documentation changes are fetched before updates. ⚙️

🎯 Purpose & Impact

  • Enhanced Package Management:
    Consolidating Python package installations with uv pip ensures safer and more predictable setups, reducing dependency issues. 🛡️

  • Better Dataset Compatibility:
    Improved indexing logic aligns with common standards, reducing confusion during COCO/LVIS dataset evaluations. 📋

  • Future-Ready PyTorch Support:
    Developers leveraging the latest PyTorch and Torchvision versions can seamlessly integrate without compatibility issues, unlocking new features and performance improvements. 🚀

  • Improved Documentation Usability:
    Clearer and more accessible docs guide users in leveraging advanced features, such as model exporting and NVIDIA DLA usage, empowering informed decision-making. 📖✨

  • More Efficient Testing:
    By removing redundant tests, testing processes are faster and less prone to failure caused by external factors like rate limits. ⏩

  • Robust Documentation Workflow:
    Ensures smooth updates and reduces the likelihood of conflicts or overwriting recent changes in collaborative environments. ✅


This update reflects Ultralytics' commitment to improving usability, stability, and developer experience across the board! 🌟

What's Changed

Full Changelog: v8.3.48...v8.3.49

v8.3.48 - `ultralytics 8.3.48` split PyPI publish jobs for security (#18111)

08 Dec 17:49
e0f8eda
Compare
Choose a tag to compare

🌟 Summary

The v8.3.48 release focuses on enhanced security, efficiency, and user convenience for the Ultralytics CI/CD pipelines and broader ecosystem. Key highlights include improved workflows for publishing, caching, documentation updates, and dependency handling. 🚀✨


📊 Key Changes

  • Workflow Security Enhancements:
    • Split PyPI publishing into stages (check, build, publish, and notify) for better control and automation. 🛠️
    • Enabled version handling to ensure only necessary updates are pushed to PyPI. 🔄
    • Improved notification systems for success or failure reporting. 📣
  • Dependency Improvements:
    • Added a --no-cache flag to ensure cleaner and more reliable Python installations during publishing workflows. 🧹
  • Better Cache Management:
    • Introduced automated CI cache pruning across workflows, reclaiming gigabytes of disk space in tests and GPU CI jobs. 🧑‍💻💾
  • Documentation Fixes:
    • Updated OpenVINO links to guide users toward the most recent version, ensuring accurate and up-to-date information. 🔗📄

🎯 Purpose & Impact

  • Stronger Security 🔒:
    • The new CI/CD structure minimizes risks by organizing tasks into stricter, separate stages and limiting unnecessary permission exposure during workflows.
  • Improved CI/CD Efficiency ✅:
    • Automatic cache pruning and artifact handling enable faster builds/tests while reducing redundant storage usage.
    • The --no-cache flag ensures the freshest dependencies, reducing debugging time caused by outdated installations.
  • Enhanced User Experience 🌟:
    • Developers benefit from cleaner workflows in the open-source Ultralytics ecosystem, ensuring smoother package publishing and version management.
    • Updated OpenVINO references ensure users can fully leverage recent AI acceleration tools for optimized model performance.

What's Changed

Full Changelog: v8.3.47...v8.3.48

v8.3.47 - `ultralytics 8.3.47` fix softmax and Classify head commonality

07 Dec 12:59
baee8c3
Compare
Choose a tag to compare

🌟 Summary

The v8.3.47 release focuses on enhancing YOLO's classification capabilities by improving model export, prediction handling, and loss computation for smoother training and deployment. 🚀

📊 Key Changes

  • Improved YOLO Classification Module:

    • Added export functionality (export=True) to the classification head, enabling easier deployment. 📤
    • Enhanced post-processing to handle predictions more efficiently, including better support for tuple-based outputs. ⚙️
    • Updated loss function to gracefully manage tuple-based predictions for accurate classification loss calculation. 📊
    • Updated logic in the classification head to switch seamlessly between training and inference, including integrated softmax during inference. 🔄
  • Documentation Improvements:

    • Clarified functionality for copy_paste augmentation, specifying it requires segmentation labels. ✍️
    • Fixed typos and improved YAML configurations for smoother developer workflows. 🛠
    • Removed redundant documentation entries to enhance clarity. 📚

🎯 Purpose & Impact

  • For End Users:

    • Enhanced Deployment Options: You can now export YOLO classification models more effectively, unlocking advanced deployment use cases in various environments. 🌐
    • Streamlined Workflows: Updated logic ensures classification workflows are more intuitive and robust—ideal for developers juggling both training and inference. 🌟
  • For Developers:

    • Clearer Documentation: Clarifications and typo fixes reduce confusion, saving time while implementing advanced features like copy_paste. ✨
    • Improved Configuration: Fixes to YAML workflows ensure consistent deployments and smoother integration during the development lifecycle. ✅

Overall, this release significantly improves YOLO's flexibility and usability for classification tasks while enhancing the clarity of supporting documentation. 💡

What's Changed

Full Changelog: v8.3.44...v8.3.47