Skip to content

Releases: ultralytics/ultralytics

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.

v8.2.35 - `ultralytics 8.2.35` add YOLOv9t/s/m models (#13504)

17 Jun 16:55
8ea945c
Compare
Choose a tag to compare

🌟 Summary

The v8.2.35 release of Ultralytics introduces new YOLOv9 models and various enhancements to the codebase and documentation.

πŸ“Š Key Changes

  • New Model Configurations: Added configurations for YOLOv9 models (yolov9t, yolov9s, yolov9m).
  • Documentation Updates: Enhanced model documentation with links to model weights and expanded on YOLOv9 details.
  • Code Refactoring: Replaced Silence layers with nn.Identity in model configurations.
  • New Modules: Introduced ELAN1 and AConv modules.
  • Disabled CUDA Tests: Temporarily disabled CUDA export tests due to limited GPU availability.
  • MLflow Sanitization: Added a sanitize_dict function for cleaning MLflow metrics logging.

🎯 Purpose & Impact

  • Improved Model Availability: The new YOLOv9 configurations make it easier for users to access and utilize various model sizes tailored to different computational needs, enhancing flexibility and performance tuning.
  • Enhanced Documentation: Links to model weights and better documentation provide users with more resources and clearer information, aiding in model selection and deployment.
  • Code Quality: Refactoring and new modules ensure the codebase is more maintainable, robust, and clear, benefiting long-term development and user comprehension.
  • Testing Adjustments: Disabling CUDA tests prevents potential issues due to resource constraints, ensuring smoother development and testing phases.
  • Better Metrics Logging: The sanitize_dict function improves the accuracy and readability of logged metrics in MLflow, leading to better monitoring and analysis of model training.

What's Changed

Full Changelog: v8.2.34...v8.2.35

v8.2.34 - `ultralytics 8.2.34` bump `ultralytics-thop>=2.0.0` (#13662)

16 Jun 21:29
c8514a6
Compare
Choose a tag to compare

🌟 Summary

Ultralytics v8.2.34 introduces several enhancements and dependency updates, aimed at improving the overall functionality and maintainability of the codebase.

πŸ“Š Key Changes

  • πŸ”„ Workflow Update: Modified the GitHub Actions CI workflow configuration, including:
    • Changed the 'pull_request_target' to 'pull_request'.
    • Added a TODO comment for future improvements.
    • Made error handling changes during the documentation build process.
  • πŸ“ˆ Dependencies Update:
    • Updated ultralytics-thop to version 2.0.0 for FLOPs computation.
    • Updated mkdocs-ultralytics-plugin to version 0.0.48 which is used for documentation meta descriptions and images.
  • πŸš€ Code Additions:
    • Added a reference to the Silence function in the import statements, ensuring compatibility with YOLOv9 models.

🎯 Purpose & Impact

  • πŸ“‚ Workflow Improvements:

    • The workflow update makes the CI process more robust by ensuring that it triggers correctly on pull requests and continues even if there are errors during the documentation steps. This makes it easier for contributors to see their PR statuses without being obstructed by documentation errors.
  • πŸ“Š Enhanced Computation & Documentation:

    • Updating dependencies ensures that users benefit from the latest features and fixes. For instance, the updated FLOPs computation library (ultralytics-thop) brings potentially more accurate and efficient model performance metrics.
    • The mkdocs-ultralytics-plugin update helps keep the documentation generation current and more informative, improving the overall user experience when browsing project docs.
  • πŸ€– Model Compatibility:

    • Including the Silence function ensures that the code remains compatible with YOLOv9 models, preventing potential loading issues for users employing the latest models.

This release focuses on maintaining a smooth development workflow, improving performance computation tools, and ensuring model compatibility.

What's Changed

Full Changelog: v8.2.33...v8.2.34

v8.2.33 - `ultralytics 8.2.33` pin `numpy<2.0.0` for compatibility (#13661)

16 Jun 19:40
6e12bcb
Compare
Choose a tag to compare

🌟 Summary

The latest Ultralytics release, v8.2.33, focuses on compatibility enhancements and cleanup to streamline user experience.

πŸ“Š Key Changes

  • Dependencies Update: Added a patch to temporarily restrict numpy version to <2.0.0 due to compatibility issues.
  • Code Cleanup: Removed the Silence import from ultralytics/nn/tasks.py.

🎯 Purpose & Impact

  • Dependencies Update:
    • Purpose: This change ensures that the software remains compatible with existing code and avoids potential errors related to the upcoming major version of numpy.
    • Impact: Users will experience more stability and fewer unexpected errors related to numpy compatibility, allowing smoother operation of the Ultralytics software.
  • Code Cleanup:
    • Purpose: Simplifies the codebase by removing the unused Silence import.
    • Impact: Reduces clutter and potential confusion, making the codebase cleaner and more maintainable for developers.

What's Changed

Full Changelog: v8.2.32...v8.2.33