Skip to content

Releases: ultralytics/ultralytics

v8.2.45 - `ultralytics 8.2.45` Fix YOLOv8 `augment` inference (#14017)

26 Jun 16:30
69cfc8a
Compare
Choose a tag to compare

🌟 Summary

Ultralytics v8.2.45 enhances model training guidance and prediction functionalities.

📊 Key Changes

  • Documentation Enhancements:

    • Improved explanations in model training tips including batch size adjustment, early stopping, and training environments.
    • Consistent use of contractions for a more conversational tone.
  • Code Updates:

    • Updated model prediction test to include an augmentation parameter.
    • Small enhancement to internal model prediction function to check for 'end2end' attribute.
  • Contributor Update:

    • Added a new contributor to the repository (zhixuwei).

🎯 Purpose & Impact

  • Documentation Clarity 💡:

    • Purpose: Simplifies complex training concepts for better user understanding.
    • Impact: Users can more easily optimize their model training, leading to better model performance and resource utilization.
  • Enhanced Testing ✅:

    • Purpose: Ensures robustness in handling batch predictions with image augmentations.
    • Impact: Enhances the reliability of prediction outputs, providing users with more dependable results.
  • Inclusivity & Acknowledgment 🌐:

    • Purpose: Update contributor list, recognizing ongoing community support.
    • Impact: Encourages more community contributions by fostering a welcoming environment.

What's Changed

Full Changelog: v8.2.44...v8.2.45

v8.2.44 - `ultralytics 8.2.44` Increase Predict dataloader robustness (#14005)

26 Jun 14:44
8136f66
Compare
Choose a tag to compare

🌟 Summary

The v8.2.44 release focuses on enhancing model training documentation, improving data loader error handling, and adding new model training tips.

📊 Key Changes

  • GitHub Actions: Simplified workflow triggers by removing unnecessary push events.
  • Documentation Updates:
    • Added a new guide titled "Tips for Model Training" with extensive best practices and optimization strategies.
    • Enhanced various sections by including more detailed instructions and formatting adjustments.
  • Source Code Improvements:
    • Improved image read error handling in data loaders by changing from raising errors to logging warnings.
    • Added detailed docstrings and typing annotations in the plotting methods for better code readability and maintenance.

🎯 Purpose & Impact

  • Improved Documentation:
    • 🎓 The new model training tips guide provides comprehensive strategies for efficient training, benefiting both beginners and experienced users.
    • 📚 Detailed and structured documentation enhances learning and application of YOLO models, helping users achieve better results.
  • Better Error Handling:
    • 🚀 Improved error handling in data loaders ensures smooth execution, making the system more robust against corrupt or missing image files.
    • 🔍 Logging warnings instead of raising errors allows the training process to continue, minimizing interruptions and saving users’ time.
  • Enhanced Code Quality:
    • 🛠️ Improved documentations and added typing in the source code, leading to easier maintenance and better developer experience.

These updates collectively aim to streamline the user experience, boost model performance, and ensure more robust and reliable training workflows.

What's Changed

New Contributors

Full Changelog: v8.2.43...v8.2.44

v8.2.43 - `ultralytics 8.2.43` enable `classes` filter for end2end models (#13971)

25 Jun 21:05
87dba19
Compare
Choose a tag to compare

🌟 Summary

Ultralytics has released version 8.2.43, bringing in improvements and new additions mostly focused on predictive functionality and innovative ways to process and display predictions.

📊 Key Changes

  • Install Requirements Update: Added pytest-cov to the pip install command.
  • Prediction Enhancements:
    • Added augment settings (save_txt, save_crop, augment) in model prediction.
    • Improved handling of augmented predictions and warnings for unsupported configurations.
  • Non-Max Suppression: Introduced rotated parameter for Oriented Bounding Boxes (OBB).
  • Mask Processing: Adjusted threshold for mask processing from 0.5 to 0.0.
  • Label Positioning:
    • Enhanced text label fitting and positioning to ensure labels don't overlap or extend beyond image boundaries.

🎯 Purpose & Impact

  • More Robust Testing: Including pytest-cov enhances code testing with better coverage reporting, leading to more reliable software.
  • Enhanced Prediction Flexibility: New augment settings in model.predict facilitate more detailed and varied output, aiding in diverse application scenarios.
  • ** Warning Visibility**: Clearer warning messages provide better understanding about what functionalities are or aren't supported, reducing user confusion.
  • Optimized Non-Max Suppression: The rotated parameter enables better handling of complex bounding boxes, extending model applicability.
  • Accurate Mask Processing: Adjusting the mask threshold ensures all relevant masks are considered, improving accuracy in image segmentation tasks.
  • Clearer Visualization: Improvements to label positioning prevent overlaps and ensure that labels are displayed properly, making visual outputs more readable and professional.

These updates collectively enhance the usability, accuracy, and robustness of the Ultralytics software, benefiting both developers and end-users. 🚀🔍

v8.2.42 - `ultralytics 8.2.42` NVIDIA TensorRT 10 default (#13943)

24 Jun 19:06
3bb0c5a
Compare
Choose a tag to compare

🌟 Summary

Release v8.2.42 of Ultralytics brings several critical updates to enhance the performance, security, and flexibility of the YOLO models, including Dockerfile improvements, support for OpenVINO C++ inference, and improved package dependencies.

image

📊 Key Changes

  • Dockerfile Updates:
    • PyTorch CUDA version updated from 2.2.2 to 2.3.1.
    • Package installation improvements, switching nvidia-tensorrt to tensorrt.
    • Added unzip package for better compatibility.
  • YOLOv10 Documentation:
    • Enhanced examples with Python and CLI commands for better usability.
  • OpenVINO Integration:
    • Added support for YOLOv8 inference in C++ using OpenVINO and OpenCV APIs, complete with build instructions and usage examples.
  • Dependency Management:
    • Updated dependency checks and installations to ensure compatibility with the latest packages.
    • Improved handling of TensorRT and other dependencies in different environments.
  • Bug Fixes & Enhancements:
    • Fixes for the loss function computation to handle bounding boxes correctly.

🎯 Purpose & Impact

  • Improved Performance:
    • Upgrading to PyTorch 2.3.1 with updated packages will leverage the latest performance and security enhancements.
  • Better Compatibility:
    • Adding the unzip package and refining package installations improves overall compatibility and setup processes on various systems.
  • Developer Flexibility:
    • The addition of the YOLOv8 OpenVINO C++ examples allows developers to integrate and leverage powerful YOLO models in their C++ projects, offering more flexibility and performance tuning options.
  • Enhanced Usability:
    • Detailed documentation for running YOLOv10 models via Python and CLI facilitates ease of use for both new and experienced users.
  • Security and Stability:
    • Ensuring that all packages are up-to-date reduces the risk of vulnerabilities and promotes more stable deployments.

This release is a significant step towards making the YOLO models more robust, easier to use, and performant in various environments. 🚀

What's Changed

New Contributors

Full Changelog: v8.2.41...v8.2.42

v8.2.41 - `ultralytics 8.2.41` fix HUB unzip subdirectory bug (#13913)

23 Jun 19:17
e30b7c2
Compare
Choose a tag to compare

🌟 Summary

Ultralytics v8.2.41 brings several optimizations and dependency updates, ensuring smoother performance and better compatibility.

📊 Key Changes

  • Updated documentation images for better clarity and relevance.
  • Adjusted numpy dependency to support versions >=1.23.5, <2.0.0.
  • Removed some optional development dependencies (e.g., check-manifest, pre-commit).
  • Updated hub-sdk dependency to >=0.0.8 for improved Ultralytics HUB model integration.
  • Added torch_distributed_zero_first decorator in training to enhance distributed training by avoiding duplicate dataset downloads.
  • Improved session creation logic in HUBTrainingSession for better authentication handling and user guidance.

🎯 Purpose & Impact

  • Enhanced Documentation: 📚 The updated images in the ROS Quickstart guide make it easier for users to follow along with clear visuals.
  • Expanded Compatibility: 🔄 By tweaking the numpy dependency range, users experience fewer compatibility issues, ensuring the software runs smoothly across more environments.
  • Streamlined Development Environment: 🛠️ The removal of certain optional development dependencies helps to simplify the development setup, reducing potential setup issues for developers.
  • Improved Model Integration: 🧩 The updated hub-sdk version and authentication improvements ensure that users have a smoother experience when interacting with Ultralytics HUB models, boosting overall productivity.
  • Optimized Distributed Training: 🚀 The addition of the torch_distributed_zero_first decorator helps prevent redundant dataset downloads during distributed training, saving time and resources.
  • Better User Guidance: 🔍 Enhanced session creation logic provides clearer warnings and instructions, ensuring that users can effectively resolve authentication issues with Ultralytics HUB.

These updates collectively ensure more efficient, stable, and user-friendly performance for both developers and non-expert users working with Ultralytics projects.

What's Changed

Full Changelog: v8.2.40...v8.2.41

v8.2.40 - `ultralytics 8.2.40` refactor HUB code into callbacks (#13896)

23 Jun 12:53
c636fe0
Compare
Choose a tag to compare

🌟 Summary

The v8.2.40 release of Ultralytics includes improvements and fixes aimed at enhancing the workflow for model training and documentation processes.

📊 Key Changes

  • GitHub Actions Workflow: Added git pull command to ensure the latest branch state before making changes.
  • Documentation Updates: Minor spelling corrections and new callback documentation.
  • Model and HUB Session Updates: Refined session management in HUBTrainingSession and imported it directly in model.py.

🎯 Purpose & Impact

  • Smoother CI Process: By pulling the latest branch state before committing, the continuous integration (CI) setup becomes more reliable, minimizing the risk of conflicts.
  • Enhanced Documentation: Correction of spelling and addition of missing callbacks ensures that the documentation is more accurate and comprehensive for users.
  • Improved HUB Interactions: The refactoring of HUBTrainingSession simplifies code, ensures robust session creation, and addresses possible issues with unauthenticated sessions, which should make the training process on the Ultralytics HUB more seamless and error-free.

These changes collectively aim to enhance the user experience by making the system more reliable and easier to use, especially for model training and collaboration on the Ultralytics HUB. 🚀

What's Changed

Full Changelog: v8.2.39...v8.2.40

v8.2.39 - `ultralytics 8.2.39` update `onnxslim>=0.1.31` (#13883)

22 Jun 11:42
3df9d27
Compare
Choose a tag to compare

🌟 Summary (v8.2.39 Release)

The latest release v8.2.39 from Ultralytics includes optimizations and updates across various files to enhance the overall functionality and performance.

📊 Key Changes

  • Documentation Updates:

    • Updated links across the documentation to use consistent URLs, replacing shortened links with full URLs for better readability and maintenance.
    • Added embedded YouTube video to the SAHI documentation for enhanced user guidance.
  • Code Optimization and Fixes:

    • Adjusted layer configurations in yolov8-p6.yaml for more detailed memory and parameter utilization.
    • Refined data augmentation and normalization operations for classification tasks in augment.py.
    • Simplified code structure by replacing multiple += operations with append() for clarity and performance.
    • Updated exporter.py dependencies for ONNX, ensuring compatibility with the latest versions and enhancements in export capabilities.
    • Improved segmentation handling and label generation in converter.py.
    • Enhanced model configuration handling for ROS integration and temporary module management.

🎯 Purpose & Impact

  • Improved Documentation:

    • Ensures that users have direct and clear access to resources and guidance, enhancing overall user experience.
    • Video content helps users better understand complex processes visually.
  • Enhanced Model Configuration and Exports:

    • Updated dependencies and configuration adjustments ensure that models utilize resources efficiently, improving performance metrics like GFLOPs and parameter counts.
    • Optimized augmentation routines and classification tasks lead to faster and more accurate model training and predictions.
  • Code Maintenance and Clarity:

    • Codebase improvements, such as using append() over +=, make the code easier to read and maintain.
    • Better structure and handling of transformations and temporary modules prevent potential runtime errors and streamline development.

These updates collectively ensure that the Ultralytics framework remains robust, user-friendly, and optimal for various AI and machine learning applications. 🚀

What's Changed

Full Changelog: v8.2.38...v8.2.39

v8.2.38 - `ultralytics 8.2.38` official YOLOv10 support (#13113)

20 Jun 18:33
ffb46fd
Compare
Choose a tag to compare

🌟 Summary

Release v8.2.38 introduces YOLOv10 models to the Ultralytics package, alongside enhancements and bug fixes.

📊 Key Changes

  • Benchmarking YOLOv10 Models: Added benchmarks for YOLOv10 models.
  • YOLOv10 Documentation: Detailed addition of YOLOv10 architecture and usage examples.
  • YOLOv10 Support: Added YOLOv10 configurations (.yaml files) for different model sizes including YOLOv10n, YOLOv10s, YOLOv10m, YOLOv10l, and YOLOv10x.
  • New Modules: Introduced new neural network modules (e.g., RepVGGDW, CIB, C2fCIB, Attention, PSA, SCDown).
  • End-to-End Detect (E2EDetect) Loss: Added a new loss function for end-to-end detection.
  • Extended Model Exports: Updated exporter configurations and limitations for new YOLOv10 operations.
  • Bug Fixes & Optimizations: Addressed various bugs and performance enhancements (e.g., support for different export formats).

🎯 Purpose & Impact

  • Improved Object Detection: The introduction of YOLOv10 models ensures optimized real-time object detection with high accuracy and low computational cost, beneficial for both current and future applications.
  • Enhanced Flexibility: The addition of new modules and configurations allows users to tailor their models and training pipelines more precisely according to their needs.
  • Better Performance: Benchmarking enhancements and end-to-end loss integration ensure more efficient and effective training and inference.
  • Comprehensive Documentation: Detailed YOLOv10 documentation facilitates easier adoption and understanding for both new and existing users.
  • Expanded Export Options: While not all formats are currently supported, the expanded export options provide more opportunities to deploy models across different platforms efficiently.

🚀 Next Steps

  • Users are encouraged to explore the new YOLOv10 models and configurations for enhanced detection capabilities.
  • Refer to the updated documentation for detailed guidance on utilizing the new features and modules effectively.

What's Changed

Full Changelog: v8.2.37...v8.2.38

v8.2.37 - `ultralytics 8.2.37` update `temporary_modules` and Remove YOLOv9e `Silence` module (#13819)

20 Jun 17:57
821e5fa
Compare
Choose a tag to compare

🌟 Summary

The v8.2.37 release focuses on enhancing developer experience and documentation consistency, with improvements in the Contributor License Agreement (CLA) workflow, better documentation formatting, and a refined ROS guide.

📊 Key Changes

  • CLA Workflow Permissions: Enhancement in the .github/workflows/cla.yml with additional permissions and branch handling.
  • Documentation Formatting:
    • Improved indentation and structure in CONTRIBUTING.md and README.md.
    • Updated information and formatting in the Chinese README file (README.zh-CN.md).
  • ROS Quickstart Guide: Expanded step-by-step examples and usage scenarios for integrating YOLO with the Robot Operating System (ROS).
  • Removed Unused Code:
    • Elimination of the unused Silence class from nn/modules/block.py.

🎯 Purpose & Impact

  • Simplified Contribution Process:
    • The updated CLA workflow permissions ensure smoother handling of pull requests and contributions, benefiting both maintainers and contributors.
  • Enhanced Documentation Readability:
    • Improved indentation and formatting ensure that the documentation is easier to read and navigate, which is particularly helpful for new users and contributors.
  • Comprehensive ROS Guide:
    • More detailed examples and explanations in the ROS guide help users better understand the steps needed to integrate YOLO with robotics applications, making it easier for developers to implement and debug their systems.
  • Codebase Cleanliness:
    • The removal of the unused Silence class simplifies the codebase, making it more maintainable and reducing potential confusion for developers.

In summary, this release focuses on improving the user and contributor experience through better documentation and workflow enhancements, making it easier for both new and experienced developers to work with the Ultralytics codebase. 🚀

What's Changed

New Contributors

Full Changelog: v8.2.36...v8.2.37

v8.2.36 - `ultralytics 8.2.36` update Ultralytics color palette (#13808)

19 Jun 22:06
c664683
Compare
Choose a tag to compare

🌟 Summary

Release v8.2.36 includes improvements to documentation, code formatting, and new guides for integrating YOLO models with various platforms.

📊 Key Changes

  • Updated documentation strings and examples for better readability.
  • Minor corrections and additions in the README badges and links.
  • Integration guides for ROS and enhancements in existing guides.
  • Cleaned up unused imports in several files.

🎯 Purpose & Impact

  • Improved Documentation: Enhances clarity and understanding for both new and experienced users by fixing line breaks and providing more detailed examples.
  • Enhanced Project Guides: Introduces a new ROS Quickstart guide, helping users integrate YOLO models with the Robot Operating System (ROS) for real-time applications.
  • Streamlined Code: Removal of redundant imports and cleaner code formatting to maintain a high standard of code quality and maintainability.
  • User-Friendly Experience: Better Badge descriptions in README make it easier to understand the status and integration options available, improving the onboarding experience.