Releases: ultralytics/ultralytics
v8.3.82 - `ultralytics 8.3.82` ONNX `dynamic` and `half` export (#19464)
🌟 Summary
Ultralytics v8.3.82 enhances ONNX model export functionality, improves preprocessing for ONNXRuntime examples, and streamlines compatibility across various hardware setups. 🚀
📊 Key Changes
- ONNX FP16 Export Fix: Introduced a workaround (
arange_patch
) for exporting ONNX models with bothdynamic
andhalf
options, avoiding incompatibilities in the PyTorchtorch.arange
function. - Preprocessing Accuracy Boost: Improved image handling (aspect ratio, resizing, and padding) for ONNXRuntime examples to ensure more precise object detection.
- Broader MNN Test Coverage: Enabled MNN export testing on Raspberry Pi to ensure compatibility.
- Dataset Configuration Streamlining: Refined
open-images-v7.yaml
to centralize dataset directory management for clarity and maintainability.
🎯 Purpose & Impact
-
ONNX Export Enhancements:
- Purpose: Solve PyTorch incompatibility issues during ONNX model export with FP16 precision in dynamic mode.
- Impact: Developers can now seamlessly export high-performance ONNX models while avoiding device-specific restrictions, improving workflows on GPUs.
-
Accurate Preprocessing:
- Purpose: Fix preprocessing bugs in ONNXRuntime inference to ensure image resizing, aspect ratio, and padding align with expected outputs.
- Impact: Results in more consistent and reliable object detection performance between PyTorch and ONNX models.
-
Compatibility Extension:
- Purpose: Enable MNN export tests on Raspberry Pi to ensure cross-platform functionality.
- Impact: Broader hardware compatibility for MNN format users, improving reliability on low-cost systems like Raspberry Pi.
-
Dataset Management Improvements:
- Purpose: Streamline configuration for the Open Images V7 dataset.
- Impact: Easier and more consistent dataset setup, particularly useful for developers managing large datasets.
This update improves model export workflows, ensures consistent inference results across platforms, and expands compatibility for developers using diverse environments. 🌐
What's Changed
- Enable
mnn
in Raspberry Pi Tests by @lakshanthad in #19483 - Fix ONNX Example letterboxing by @quangdungluong in #19486
- Fix dataset_dir error with
open-images-v7.yaml
by @Y-T-G in #19475 ultralytics 8.3.82
ONNXdynamic
andhalf
export by @Y-T-G in #19464
New Contributors
- @quangdungluong made their first contribution in #19486
Full Changelog: v8.3.81...v8.3.82
v8.3.81 - `ultralytics 8.3.81` Fix Metrics `on_plot` circular references (#19318)
🌟 Summary
The Ultralytics v8.3.81 release resolves a critical memory management issue in model validation while introducing key updates to documentation, testing workflows, and system reporting for enhanced usability and efficiency. 🚀✨
📊 Key Changes
- 🧹 Memory Leak Fix in Validation Modules:
Resolved circular references in metrics (on_plot
) across validators (DetectionValidator
,PoseValidator
, etc.) to avoid CPU memory leaks during repeated evaluations. - 📚 Documentation Enhancements:
Added examples for annotators in the library, and fixed/corrected metadata instructions for Triton guides and links in SAM 2 documentation. - 🐧 Raspberry Pi CI Improvements:
Re-enabled Raspberry Pi CI workflow with improved benchmarks and added cleanup for self-hosted CI runners. - 🔍 Installation Diagnostics Update:
Added project root installation path in the system environment summary for easier debugging. - 📊 Better Table Sorting in Docs:
Improved table sorting functionality for file sizes, numbers, and dot-separated values.
🎯 Purpose & Impact
- Memory Management Improvement:
Eliminates residual memory accumulation when evaluating models repeatedly in scripts, preventing CPU overloading and Out-Of-Memory (OOM) errors. This fix improves the efficiency and reliability of long-running evaluation pipelines. 🧠🔥 - User-Friendly Documentation:
New usage examples and enhanced instructions make it easier for developers to understand and implement key features. Correcting SAM 2 links ensures access to the right research resources. 📚💡 - Expanded Testing Coverage:
Re-enabling Raspberry Pi CI and adding benchmarks enhances testing on diverse hardware, ensuring broader reliability across platforms. Improved CI cleanup reduces risks of resource conflicts. 🌐🔧 - Debugging Simplification:
Including installation paths in diagnostics facilitates resolving Python environment-related issues for developers. 🔍🛠️ - Enhanced Sorting for Visual Data:
Improved table sorting in docs boosts usability, especially when navigating large datasets or results with complex numbering or file size values. 📈✨
Overall, this update strengthens performance, stability, and developer experience, while prioritizing clarity and usability for the broader community. 🎉
What's Changed
- Update Raspberry Pi 5 CIs with 16GB model by @lakshanthad in #19306
- New: add
SAM
andSAM-2
notebook in docs by @RizwanMunawar in #19461 - Add installation path to
yolo checks
output by @Y-T-G in #19463 - Clarify metadata instructions in Triton docs by @Y-T-G in #19457
- Fix Docs table number sorting by @Y-T-G in #19455
- Add examples for
plotting
reference by @RizwanMunawar in #19439 - Update SAM 2 research paper links by @joshua-dean in #19465
- Clean up Raspberry Pi CI runners by @lakshanthad in #19478
ultralytics 8.3.81
Fix Metricson_plot
circular references by @RemiPT in #19318
New Contributors
- @joshua-dean made their first contribution in #19465
- @RemiPT made their first contribution in #19318
Full Changelog: v8.3.80...v8.3.81
v8.3.80 - `ultralytics 8.3.80` Fix YOLO-NAS export (#19426)
🌟 Summary (single-line synopsis)
Version 8.3.80 features crucial upgrades to YOLO-NAS handling, improved configuration merging for smoother exports, enhanced documentation interactivity, and compatibility refinements for key frameworks. 🚀
📊 Key Changes (bullet points highlighting any major changes)
- 🔄 Model Export Enhancements: Fixed YOLO-NAS export by integrating default configs (
DEFAULT_CFG_DICT
) into model attributes for higher flexibility. - 🧠 RBOX Regularization: Refined bounding box angle calculations for consistency in the OpenCV definition.
- 📋 Documentation Upgrades: Introduced sortable tables for performance data to improve clarity and usability across pages.
- 🔧 Framework Compatibility: Constrained OpenVINO dependency to version
>=2024.0.0,<2025.0.0
and updated outdated function calls for compatibility. - 🐳 Docker Workflow Fix: Removed deprecated
numpy
dependency to resolve CI errors and streamlined build conditions.
🎯 Purpose & Impact (bullet points explaining any benefits and potential impact to users)
- 🌟 Improved Export Reliability: The configuration merging for YOLO-NAS ensures a more robust process, minimizing errors during model deployment and export.
- 🧮 Better Prediction Accuracy: Regularizing rboxes improves detections by addressing angle inconsistencies in bounding boxes.
- 🖱️ Enhanced User Experience: Sortable tables in documentation allow users to interactively organize performance metrics, making comparisons easier.
- ✅ Smoother OpenVINO Exports: Version constraints and function updates enhance stability and prepare the platform for future releases without breaking changes.
- 🔄 Cleaner CI Pipelines: Removing deprecated dependencies ensures more reliable builds, benefitting developers contributing to the codebase.
This update underscores Ultralytics' focus on improving usability, compatibility, and export-related functionalities for smoother workflows and precise model performance. 🚀
What's Changed
- Optimize Sony IMX500 doc by @lakshanthad in #19421
- Constrain OpenVINO versions to
>=2024.0.0,<2025.0.0
by @ambitious-octopus in #19122 - New Docs sortable tables by @Y-T-G in #19376
- Fixing tflite export CI error by @ambitious-octopus in #19422
- Fix rbox regularization by @Y-T-G in #19429
ultralytics 8.3.80
Fix YOLO-NAS export by @Y-T-G in #19426
Full Changelog: v8.3.79...v8.3.80
v8.3.79 - `ultralytics 8.3.79` Fix shift in HSV augmentation (#19311)
🌟 Summary
The v8.3.79 release of the Ultralytics YOLO framework introduces crucial bug fixes, enhancements to performance, and documentation updates. The primary focus is on correcting HSV augmentation mechanics and refining various code components for better reliability and usability. 🛠️✨
📊 Key Changes
- HSV Augmentation Fix: Resolved incorrect hue, saturation, and value shifts during data augmentation, ensuring consistent color transformations. 🎨
- YOLO12 Benchmark Refinement: Fixed performance metrics for YOLO12 models in documentation, updating speed and mAP comparisons ensuring accurate representations. 📈
- Docker Streamlining: Removed redundant
tensorrt-cu12
dependency and added environment checks for better CI validation and Docker compatibility. 🐳 - Comet Integration Fix: Corrected class mapping index misalignment in Comet logging to avoid errors and misinterpretations in visualized data. 📋
- Single-Class Model Consistency: Enforced single-class model output alignment by adjusting
nc
andnames
parameters during training. 🚀 - Documentation Updates: Improved accuracy in multiple areas, embedding a YouTube interactive guide for YOLO12, and updating outdated citation links for research credibility. 📚
- General Code Cleanup: Enhanced readability by adhering to PEP8 conventions (
snake_case
), simplifying code for maintainability. 🖋️
🎯 Purpose & Impact
- Improved Data Augmentation: Provides users with accurate HSV augmentations, leading to better model robustness and performance during training.
- Benchmark Accuracy: Ensures users receive correct performance metrics allowing better model selection and easier comparison across versions.
- Enhanced Docker Usability: Smoother image builds and reduced dependency issues result in a simplified development experience. Perfect for CI pipelines!
- Better Logging: Developers benefit from accurate class mappings in Comet analytics, avoiding confusion when examining predictions.
- Single-Class Models Alignment: Offers consistency in model behavior, improving usability for tasks like binary classification.
- Improved Documentation: Users gain easier access to tutorials, accurate technical references, and a better learning experience overall.
- Cleaner Codebase: Enhances long-term maintainability and aligns code with modern Python standards, beneficial for both contributors and end-users.
This release makes strides in improving accuracy, user experience, and usability for developers and researchers alike. 🚀🌟
What's Changed
- Fix YOLO12 cfg links by @glenn-jocher in #19332
- Fix
mkdocs_github_authors.yaml
author LexBarou by @glenn-jocher in #19334 - Fix keypoints data display in
pose.md
by @RizwanMunawar in #19337 - Fix YOLO12 performance table by @Laughing-q in #19333
- Fix benchmark.js by @glenn-jocher in #19351
- Fix TensorRT export issue by removing redundant package by @lakshanthad in #19343
- Add https://youtu.be/SMSJvjUG1ko to
yolo12.md
by @RizwanMunawar in #19358 - Update model_data.py authors by @glenn-jocher in #19365
- Assign variable
dt
before reference in exception block by @sjhpark in #19349 - Use
chart.js@latest
by @glenn-jocher in #19372 - YOLOv3 paper URL update by @glenn-jocher in #19378
- Add
imx
export tip by @RizwanMunawar in #19404 - Det models with
nc=1
whensingle_cls=True
by @kevinconka in #19381 - Fixed Comet integration to use class map aligned index when trying to get class name by @yaricom in #19408
- Simplify
auto_annotate
function by @Burhan-Q in #19400 - Updates
imgToAnns
variable tosnake_case
by @Burhan-Q in #19402 - Fix
Grad strides do not match bucket view strides
warning for YOLO12 DDP training by @Laughing-q in #19395 - Updates
scaleFill
argument tosnake_case
by @Burhan-Q in #19401 - Check environment in docker.yml by @glenn-jocher in #19418
- Disable Dockerfile tests temporarily by @glenn-jocher in #19420
- Fix incorrect metrics when nothing is detected by @Y-T-G in #19362
ultralytics 8.3.79
Fix shift in HSV augmentation by @picsalex in #19311
New Contributors
- @picsalex made their first contribution in #19311
- @kevinconka made their first contribution in #19381
- @sjhpark made their first contribution in #19349
Full Changelog: v8.3.78...v8.3.79
v8.3.78 - `ultralytics 8.3.78` new YOLO12 models (#19325)
🌟 Summary
This release, v8.3.78
, brings an exciting new model to the family: YOLO12 🚀, featuring an attention-centric design for superior accuracy and efficiency across a variety of computer vision tasks.
📊 Key Changes
-
Introduction of YOLO12 Models:
- New Architecture: Incorporates attention mechanisms like Area Attention, R-ELAN, and FlashAttention for optimized performance.
- Comprehensive Task Support:
- Object detection, segmentation, pose estimation, classification, and oriented bounding box (OBB) detection.
- Benchmark Improvements:
- Demonstrates higher mAP (mean Average Precision) and efficiency compared to YOLO10/YOLO11 and competitors like RT-DETR.
-
Model-Specific Enhancements:
- Introduced multiple YOLO12 variants (
n
,s
,m
,l
,x
) catering to different computing environments such as cloud systems and edge devices. - Added new task-focused configurations for image classification, pose estimation, and segmentation.
- Introduced multiple YOLO12 variants (
-
Documentation Updates:
- YOLO12 now included in detailed model documentation with performance metrics and usage examples.
- Extensive references, including benchmarks for comparison with leading global detection models.
-
Code Simplifications and Bug Fixes:
- ONNX Run-Time Fixes: Improved device handling and tensor reshaping for ONNX users.
- TFLite Export Cleanup: Removed redundant parameters for simpler TensorFlow Lite export logic.
- Code Refinement: Enhanced readability and maintainability across inference and export pipelines.
🎯 Purpose & Impact
-
Purpose:
- YOLO12 brings a paradigm shift in accuracy and efficiency by adopting attention mechanisms tailored for real-time object detection.
- Streamlines codebase for easier maintenance and integration in diverse projects.
-
Impact:
- Developers gain access to cutting-edge state-of-the-art models excelling in versatility, speed, and precision.
- Tasks like multi-object detection, segmentation, and pose estimation become more accessible for smaller devices (e.g., edge devices).
- Improved user experience with easier model selection, robust export support, and refined prediction outputs.
🔮 This update is not only a leap forward in technological advancement but also a commitment to making intelligent vision accessible to all.
What's Changed
- Remove unused parameters from
export_tflite
by @Y-T-G in #19319 - Fix ONNX RuntimeError with dynamic WorldModel by @Y-T-G in #19322
- Add YOLO12 model info by @Laughing-q in #19328
- Add https://youtu.be/BPYkGt3odNk to docs by @RizwanMunawar in #19331
- Refactor with simplifications by @glenn-jocher in #19329
- update
model_data.py
by @RizwanMunawar in #19330 ultralytics 8.3.78
new YOLO12 models by @Laughing-q in #19325
Full Changelog: v8.3.77...v8.3.78
v8.3.77 - `ultralytics 8.3.77` faster YOLOv8-Segment ONNX Runtime example (#19312)
🌟 Summary
The YOLOv8 v8.3.77 release introduces a significant performance optimization for ONNX Runtime segmentation models, as well as essential compatibility enhancements and minor fixes. 🚀
📊 Key Changes
-
🚀 YOLOv8-Segment Optimization (ONNX Runtime)
- Post-processing was drastically improved for both GPU (91.7% faster) and CPU (58.9% faster), resulting in a total inference speedup of up to 32.4%.
-
🔧 Optional
thop
Dependency Support- Made the
thop
library optional by handling its absence gracefully to avoid errors in environments lacking it.
- Made the
-
📂 ONNX Export Improvements
- Streamlined ONNX dynamic model export logic by revising type handling, ensuring better reliability and maintainability.
🎯 Purpose & Impact
-
Faster and More Efficient Inference ⚡
- The optimization of YOLOv8-Segment ONNX Runtime reduces latency significantly, improving user experiences in deployment scenarios where real-time performance is essential.
-
Increased Compatibility with Minimal Setups 🤝
- By making
thop
optional, the release ensures broader support for systems, including lightweight environments like Conda setups, enhancing user flexibility.
- By making
-
Improved Developer Experience 🛠️
- Simplified export logic and code maintainability ensures a more robust development and debugging process for ONNX users.
These updates collectively enhance usability, efficiency, and reliability for YOLOv8 users across diverse applications. 🎉
What's Changed
- Fix dynamic export with YOLO World by @Y-T-G in #19304
- Revert "Fix dynamic export with YOLO World" by @Laughing-q in #19308
- Allow missing
thop
package by @glenn-jocher in #19314 ultralytics 8.3.77
faster YOLOv8-Segment ONNX Runtime example by @AdnanEkici in #19312
New Contributors
- @AdnanEkici made their first contribution in #19312
Full Changelog: v8.3.76...v8.3.77
v8.3.76 - `ultralytics 8.3.76` fix `dynamic` batch inference with NMS export (#19249)
🌟 Summary
The release of Ultralytics v8.3.76 introduces improved dynamic batch inference for ONNX models with NMS export, a better object tracking experience, and various code and documentation enhancements. 🚀
📊 Key Changes
-
Dynamic Batch Improvements:
- Solved issues with
dynamic=True
andnms=True
where the batch size was fixed at export. - Enabled dynamic input handling by introducing padding for unmatched batch sizes during ONNX exports.
- Solved issues with
-
Tracking Enhancements:
- Addressed errors when processing Torch tensors in
model.track()
. - Improved integration of original input images with trackers for accuracy.
- Addressed errors when processing Torch tensors in
-
Performance Accuracy:
- Fixed GPU memory conversion errors for logging VRAM usage to ensure accurate reporting.
-
Documentation Updates:
- Standardized formatting in documentation for better consistency.
- Enhanced examples for interpreting prediction results across detection, pose, segmentation, and more.
-
Other Code Refinements:
- Addressed layer miscount in logging by ensuring layers with no parameters are also displayed.
- Enhanced GitHub issue templates for clearer differentiation between bug reports and feature requests.
🎯 Purpose & Impact
- 🛠 Improved Model Deployment: Dynamic padding during export ensures robust handling of varying batch sizes while maintaining compatibility with ONNX workflows.
- 🎥 Better Tracking: Smoother operation for streamed data and enhanced consistency in object tracking results benefit both developers and end-users.
- 📋 Accurate Logging: Correct VRAM usage metrics improve debugging and resource optimization.
- 📚 Developer Friendliness: Updated docs and examples make it easier for users to understand and utilize prediction results effectively.
- 🚀 Efficiency Boost: Code tweaks and fixes culminate in faster, more accurate model handling without disruptions.
This release addresses several community-reported issues, focusing on operational accuracy and usability across export, tracking, and development workflows! 🙌
What's Changed
- Initialize
model_name
attribute by @LoveAndHope-dev in #19224 - Update results.boxes docs: boxes.id may be None by @shankangke in #19227
- Fix bytes to GB conversion for logged VRAM usage by @Y-T-G in #19254
- Fix memory conversion by @Y-T-G in #19256
- Use new "Issue Type" in templates by @Y-T-G in #19257
- Add https://youtu.be/im7xBCnPURg to docs by @RizwanMunawar in #19265
- Support CoreML NMS export for Segment, Pose and OBB by @Y-T-G in #19173
- Fix layer count; show layers with no params in detailed log by @Y-T-G in #19202
- Standardize
str
formatting in docs by @lakshanthad in #19276 - Add detailed usage with demos to reCamera doc by @lakshanthad in #19275
- Add examples showing how to use
result
for all tasks by @Y-T-G in #19282 - Update
model_data.py
by @RizwanMunawar in #19267 - Revert "Support CoreML NMS export for Segment, Pose and OBB" by @glenn-jocher in #19273
- Fix error with
torch
tensor input inmodel.track()
by @Y-T-G in #19278 ultralytics 8.3.76
fixdynamic
batch inference with NMS export by @Y-T-G in #19249
New Contributors
- @LoveAndHope-dev made their first contribution in #19224
Full Changelog: v8.3.75...v8.3.76
v8.3.75 - `ultralytics 8.3.75` Comet update to new `comet_ml.start()` API (#19187)
🌟 Summary
The v8.3.75 release includes robust updates for improved model export compatibility, user experience, and error handling across platforms, alongside enhanced documentation and integration refinements. 🚀
📊 Key Changes
-
Enhanced CometML Integration:
- Transitioned to the new
comet_ml.start()
API for smoother experiment handling. - Deprecated the
COMET_MODE
variable, introducingCOMET_START_ONLINE
for consistency.
- Transitioned to the new
-
Export Function Updates:
- Protobuf Dependency: Added support for
protobuf>=5
for TensorFlow and TFLite exports, resolving compatibility issues. - Edge TPU and TF.js: Addressed platform-specific limitations for ARM64 and Linux exports to prevent unsupported configuration errors.
- Protobuf Dependency: Added support for
-
Documentation Improvements:
- Updated SAM auto-annotation, YOLOv8, and export format descriptions for clarity.
- Redesigned inference examples to use accessible publicly hosted image URLs.
-
New CLI Solutions:
- Introduced practical use cases, including object counting, workout monitoring, queue analysis, and browser-based inference with Streamlit.
-
Benchmarking Added:
- Include new comparative performance metrics for popular object detection models like Gold-YOLO, YOLO-NAS, RTDETRv3, etc.
-
Windows-Specific Fix:
- Resolved an async file write bug to improve caching reliability on Windows systems.
-
Improved Timing Precision:
- Switched to
time.perf_counter()
for latency measurements, ensuring greater precision during benchmarking.
- Switched to
🎯 Purpose & Impact
-
Improved Experiment Tracking:
- Seamless CometML integration provides better environment consistency and logging during training processes.
-
Enhanced Export Reliability:
- Future-proofs TensorFlow and TFLite workflows while providing early error detection for ARM64/Linux users.
-
Streamlined User Experience:
- Updated documentation and example consistency ensure clarity, especially for beginners, minimizing friction during model setup and usage.
-
Greater Platform Support:
- Addressed critical Windows and platform-specific export edge cases, enhancing cross-platform usability.
-
Better Model Insights:
- Added benchmarks empower users to make informed decisions about which object detection models to implement based on accuracy, speed, and computational cost.
This release focuses heavily on improving reliability, usability, and documentation quality while resolving critical bugs and adding more tools for diverse real-world applications.
What's Changed
- Auto-annotate and SAM docs update by @Y-T-G in #19156
- Switch to
perf_counter()
for latency measurement by @Y-T-G in #19177 - Force protobuf>=5 for SavedModel export by @Y-T-G in #19206
- Fix Docker QEMU issues while building JetPack 6 Dockerfile by @lakshanthad in #19216
- Fix
bus.jpg
path inpredict.md
by @RizwanMunawar in #19203 - Update NMS description on export-args.md by @Buligon in #19211
- Add NMS related args to export-table.md by @Y-T-G in #19215
- Add Docs models benchmark by @Laughing-q in #19176
- Tasks Docs updates by @LexBarou in #19181
- YOLOv8 Docs updates by @LexBarou in #19182
- Add Solutions CLI usage in
quickstart.md
by @RizwanMunawar in #19160 - Fix
edgetpu
andtfjs
exports forarm64
Linux by @lakshanthad in #19154 - Fix windows async np.save bug by @eric80739 in #19218
- Fix
print()
for ConfusionMatrix for Classify task by @Y-T-G in #19169 - Fix updating of best epoch during early stopping by @vfcosta in #19164
ultralytics 8.3.75
Comet update to newcomet_ml.start()
API by @yaricom in #19187
New Contributors
- @vfcosta made their first contribution in #19164
- @eric80739 made their first contribution in #19218
Full Changelog: v8.3.74...v8.3.75
v8.3.74 - `ultralytics 8.3.74` Fix Ray Tune callback error (#19144)
🌟 Summary
Ultralytics v8.3.74 introduces updates to improve compatibility with modern tools (like Ray Tune), smooth errors, and enhance deterministic training and export flexibility. 🛠✨ Simplified workflows for developers with better usability.
📊 Key Changes
- 🔧 Fixed Ray Tune Callback Issues: Replaced deprecated
ray.tune.is_session_enabled()
withray.train._internal.session.get_session()
ensuring compatibility with latest Ray versions. - 🛠 Enhanced Deterministic Training Control: Added
unset_deterministic()
to handle environment changes, and prevent unnecessary CUDA warnings. - 🖼 PIL Image Support in
plot()
: Allowed direct return of PIL images withannotator.im
, improving compatibility with PIL workflows. - 🚀 Improved Export Flexibility: Adjusted
model.export()
to take adata
parameter while simplifyingpredict()
calls. - 🐳 Optimized Docker Workflow: Improved Docker token authentication and switched to
docker build
for better stability and security. - ✅ Streamlined Benchmarking: Cleaned dataset and metric assignments in benchmarking to avoid redundancy and improve reliability.
🎯 Purpose & Impact
- 🚀 Greater Compatibility: Seamless integration with the latest versions of Ray ensures that errors linked to deprecated methods are resolved.
- ⚡ Workflow Flexibility: Managing deterministic settings dynamically boosts training adaptability while cleaning up workflow logs.
- 📸 Visualization Improvements: Returning PIL images directly simplifies further processing in pipelines dependent on image outputs.
- 🛠️ User-Friendly Model Exports: Configurable export makes model usage and testing more straightforward for developers.
- 🔒 Stronger Security: Docker workflow improvements enhance authentication security, benefitting advanced build setups.
- ✅ Clarity in Development: Benchmark logic cleanup minimizes confusion and potential errors, improving developer experience.
This version is packed with incremental improvements, making model training, testing, and deployment smoother and more user-friendly while preparing Ultralytics for the future. 🎉
What's Changed
- Fix docker.yml by @glenn-jocher in #19125
- Fix missing data warning and undefined variables by @Y-T-G in #19124
- Fix missing data.yaml error on int8 export by @Y-T-G in #19128
- Return PIL image if
pil=True
by @Y-T-G in #19146 - Unset CUBLAS_WORKSPACE_CONFIG for non-deterministic training and inference by @Y-T-G in #19138
ultralytics 8.3.74
Fix Ray Tune callback error by @Y-T-G in #19144
Full Changelog: v8.3.73...v8.3.74
v8.3.73 - `ultralytics 8.3.73` GitHub Container Registry Images at `ghcr.io` (#19114)
🌟 Summary
The Ultralytics v8.3.73
release focuses on enhancing containerization workflows, updating library dependencies, improving documentation, and refining the development process. 🚀
📊 Key Changes
- Containerization Enhancements:
- Added support for publishing Docker images to both GitHub Container Registry (GHCR) and Docker Hub with rich metadata for better usability. 🐋
- Removed Ubuntu 24.04 ARM in CI workflows for streamlined testing.
- Dependency and Platform Updates:
- Updated NVIDIA Jetson support with PyTorch 2.2.0 and Torchvision 0.17.2 for improved compatibility and performance. 🤖
- Removed the
beautifulsoup4
dependency, cleaning up the development environment. 🧹
- Code Refactoring:
- Improved SQL result export by simplifying insertion logic and fixing potential issues with empty results.
- Enhanced type hinting for better code clarity.
- Documentation and Tutorial Updates:
- Added an embedded YouTube tutorial on Package Segmentation in the documentation. 🎥✨
🎯 Purpose & Impact
- Containerization Accessibility:
- Publishing images to both Docker Hub and GHCR ensures users have multiple options for pulling images, increasing global availability and reducing friction. 🌍
- The inclusion of detailed metadata in Docker images improves clarity for end-users.
- Better Hardware and Development Support:
- NVIDIA Jetson users benefit from newer library versions for seamless deployment and better model performance.
- Leaner development environments reduce installation times and maintenance burdens.
- Improved Learning Resources:
- The YouTube tutorial enriches the documentation and aids new and existing users in understanding package segmentation workflows visually. 📚👩💻
TL;DR: This version updates Docker container workflows, improves NVIDIA Jetson compatibility, cleans up dev dependencies, and enhances user education through new video tutorials. 🚀💡
What's Changed
- Remove
beautifulsoup4<=4.12.3
pin by @Laughing-q in #19103 - Update JetPack 5
torch
andtorchvision
packages by @lakshanthad in #19098 - Minor
Results.to_sql
cleanup by @Laughing-q in #19081 - Add https://youtu.be/im7xBCnPURg to docs by @RizwanMunawar in #19115
ultralytics 8.3.73
GitHub Container Registry Images atghcr.io
by @glenn-jocher in #19114
Full Changelog: v8.3.72...v8.3.73