Ultralytics v8.3.74 Release Announcement 
We’re excited to announce Ultralytics v8.3.74, a release packed with upgrades to enhance compatibility, usability, and security across various workflows. Whether you’re training, predicting, exporting, or benchmarking models, these updates aim to simplify processes, resolve errors, and improve reliability. Let’s dive into the details!
Summary
Ultralytics v8.3.74 introduces improved compatibility with modern tools (e.g., Ray Tune), flexible deterministic training controls, better visualization support with PIL images, and enhanced export and Docker workflows. These updates ensure a smoother and more efficient experience for all users.
Key Changes
Fixed Ray Tune Callback Issues
- Replaced deprecated
ray.tune.is_session_enabled()
withray.train._internal.session.get_session()
to maintain compatibility with the latest Ray versions.
Enhanced Deterministic Training Control
- Introduced
unset_deterministic()
to dynamically handle environment changes, avoiding unnecessary CUDA warnings.
PIL Image Support in plot()
- Added functionality to return PIL images directly via
annotator.im
, enabling smoother integration with workflows reliant on PIL.
Improved Export Flexibility
- Adjusted
model.export()
to accept adata
parameter, simplifying export and improving predictability during deployments.
Optimized Docker Workflow
- Strengthened Docker token authentication and transitioned to
docker build
for better stability and increased security.
Streamlined Benchmarking
- Cleaned up dataset and metric assignments for benchmarking, reducing redundancy and improving reliability of results.
Purpose & Impact
Greater Compatibility: Ensures that deprecated Ray methods no longer cause compatibility errors.
Workflow Flexibility: Dynamic deterministic training improves adaptability for various scenarios while keeping logs clean.
Visualization Enhancements: Direct PIL image returns streamline processes for downstream image-based applications.
User-Friendly Exports: Easier and more flexible export options simplify model usage for diverse AI applications.
Stronger Security: Improved Docker authentication enhances the reliability of secure build workflows.
Cleaner Development Process: Streamlined benchmarking logic ensures more stable development pipelines.
These thoughtful improvements make training, testing, and deploying YOLO models smoother and more intuitive for developers—all while future-proofing Ultralytics for upcoming use cases.
What’s Changed
Here are the key contributions included in this release:
- Fix Docker configuration by @glenn-jocher in PR #19125
- Fix missing data warning and undefined variables by @Y-T-G in PR #19124
- Fix
data.yaml
error on INT8 export by @Y-T-G in PR #19128 - Add PIL image return option (
pil=True
) by @Y-T-G in PR #19146 - Unset
CUBLAS_WORKSPACE_CONFIG
for non-deterministic training by @Y-T-G in PR #19138 - Fix Ray Tune callback error by @Y-T-G in PR #19144
Full Changelog: v8.3.73…v8.3.74
How to Get Started
Update to the latest version of Ultralytics by running:
pip install ultralytics --upgrade
Then try out the updated features and improvements! We’d love to hear your thoughts—let us know if you encounter any issues or have any feedback on these updates.
Explore the full release details here: Ultralytics v8.3.74 Release
Happy coding and thank you for being part of the YOLO community!