Releases: ultralytics/ultralytics
v8.2.42 - `ultralytics 8.2.42` NVIDIA TensorRT 10 default (#13943)
π 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.
π Key Changes
- Dockerfile Updates:
- PyTorch CUDA version updated from 2.2.2 to 2.3.1.
- Package installation improvements, switching
nvidia-tensorrt
totensorrt
. - 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.
- Adding the
- 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
- Add YOLOv8 OpenVINO C++ Inference example by @rlggyp in #13839
- Ultralytics TensorRT10 update by @glenn-jocher in #13933
- Dockerfile FROM
pytorch/pytorch:2.3.1-cuda12.1-cudnn8-runtime
by @glenn-jocher in #13937 - Add CLI commands for
predict
andtrain
YOLOv10 models. by @RizwanMunawar in #13940 ultralytics 8.2.42
NVIDIA TensorRT 10 default by @glenn-jocher in #13943
New Contributors
Full Changelog: v8.2.41...v8.2.42
v8.2.41 - `ultralytics 8.2.41` fix HUB unzip subdirectory bug (#13913)
π 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
- Adjust
numpy<2.0.0
compatibility by @glenn-jocher in #13906 - Fix HUB session with DDP training by @Laughing-q in #13103
- Compress ROS Guide Images by @RizwanMunawar in #13914
ultralytics 8.2.41
fix HUB unzip subdirectory bug by @glenn-jocher in #13913
Full Changelog: v8.2.40...v8.2.41
v8.2.40 - `ultralytics 8.2.40` refactor HUB code into callbacks (#13896)
π 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 inmodel.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
ultralytics 8.2.40
refactor HUB code into callbacks by @glenn-jocher in #13896
Full Changelog: v8.2.39...v8.2.40
v8.2.39 - `ultralytics 8.2.39` update `onnxslim>=0.1.31` (#13883)
π 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 withappend()
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.
- Adjusted layer configurations in
π― 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.
- Codebase improvements, such as using
These updates collectively ensure that the Ultralytics framework remains robust, user-friendly, and optimal for various AI and machine learning applications. π
What's Changed
- Code refactor https://ultralytics.com/actions by @glenn-jocher in #13844
- ROS Quickstart, fixed code formatting by @ambitious-octopus in #13855
- Replace
+=
with faster list.append()
by @Kayzwer in #13849 - Fix ambiguous variable names by @glenn-jocher in #13864
- Add https://youtu.be/tq3FU_QczxE to docs by @RizwanMunawar in #13867
- Update yolov8-p6.yaml with model parameters and GFLOPs by @glenn-jocher in #13862
- Fix HUB link https://ultralytics.com/hub by @glenn-jocher in #13884
ultralytics 8.2.39
updateonnxslim>=0.1.31
by @glenn-jocher in #13883
Full Changelog: v8.2.38...v8.2.39
v8.2.38 - `ultralytics 8.2.38` official YOLOv10 support (#13113)
π 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)
π 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
andREADME.md
. - Updated information and formatting in the Chinese
README
file (README.zh-CN.md
).
- Improved indentation and structure in
- 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 fromnn/modules/block.py
.
- Elimination of the unused
π― 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.
- The removal of the unused
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
- Update CLA Action by @glenn-jocher in #13831
- Update OpenCV image read error message by @blackhu in #13822
- ROS quickstart Docs page cleanup by @ambitious-octopus in #13835
- Annotator
txt_color
updates by @glenn-jocher in #13842 ultralytics 8.2.37
updatetemporary_modules
and Remove YOLOv9eSilence
module by @Laughing-q in #13819
New Contributors
Full Changelog: v8.2.36...v8.2.37
v8.2.36 - `ultralytics 8.2.36` update Ultralytics color palette (#13808)
π 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)
π 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 withnn.Identity
in model configurations. - New Modules: Introduced
ELAN1
andAConv
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
- Code Refactor
ruff check --fix --extend-select I
by @glenn-jocher in #13672 - Clean up unused
Silence
module by @Laughing-q in #13674 ultralytics 8.2.35
add YOLOv9t/s/m models by @Laughing-q in #13504
Full Changelog: v8.2.34...v8.2.35
v8.2.34 - `ultralytics 8.2.34` bump `ultralytics-thop>=2.0.0` (#13662)
π 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.
- Updated
- π Code Additions:
- Added a reference to the
Silence
function in the import statements, ensuring compatibility with YOLOv9 models.
- Added a reference to the
π― 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.
- Updating dependencies ensures that users benefit from the latest features and fixes. For instance, the updated FLOPs computation library (
-
π€ 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.
- Including the
This release focuses on maintaining a smooth development workflow, improving performance computation tools, and ensuring model compatibility.
What's Changed
ultralytics 8.2.34
bumpultralytics-thop>=2.0.0
by @glenn-jocher in #13662
Full Changelog: v8.2.33...v8.2.34
v8.2.33 - `ultralytics 8.2.33` pin `numpy<2.0.0` for compatibility (#13661)
π 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 fromultralytics/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.
- Purpose: This change ensures that the software remains compatible with existing code and avoids potential errors related to the upcoming major version of
- 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.
- Purpose: Simplifies the codebase by removing the unused
What's Changed
ultralytics 8.2.33
pinnumpy<2.0.0
for compatibility by @glenn-jocher in #13661
Full Changelog: v8.2.32...v8.2.33