-
-
Notifications
You must be signed in to change notification settings - Fork 6.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clean and bump dvc callback: settings, stacked images #4343
Clean and bump dvc callback: settings, stacked images #4343
Conversation
Codecov Report
@@ Coverage Diff @@
## main #4343 +/- ##
=======================================
Coverage ? 53.58%
=======================================
Files ? 118
Lines ? 13469
Branches ? 0
=======================================
Hits ? 7218
Misses ? 6251
Partials ? 0 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
@shcheklein looks good! BTW if you'd like to contribute a page to https://docs.ultralytics.com/integrations/ that would be welcome :) EDIT: To add a page to the docs you'd just create a Markdown file in the relevant docs folder, i.e. you could create a docs/integrations/dvc.md file that explains how the integration works for users to understand. https://github.com/ultralytics/ultralytics/tree/main/docs/integrations |
@glenn-jocher thanks for such quick turn around it a real pleasure folks to see this! 🙏
yes, it's on me iterative/dvclive#603 and it is p1 - we'd like to stabilize the workflow a bit first. Aside from this PR - a bit tricky part that we found, that is specific to DVC workflow is that since callback is so magical and automatic - it's great to start, but it's a bit tricky to integrate into the existing repos - YOLO +DVC and in mode advanced setups (where DVC manages data, etc, etc). So, it's on our radar and I'll make a tactical decision on when is the best time to document it. |
Signed-off-by: Onuralp SEZER <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Glenn Jocher <[email protected]> Clean and bump dvc callback: settings, stacked images (ultralytics#4343) Co-authored-by: Glenn Jocher <[email protected]> Improve tests coverage and speed (ultralytics#4340) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> `ultralytics 8.0.154` add `freeze` training argument (ultralytics#4329) Omit `ultralytics/utils/callbacks` from coverage (ultralytics#4345) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Fix PIL Image `exif_size()` function (ultralytics#4355) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Add `data/utils.py` to tests (ultralytics#4363)
Co-authored-by: Glenn Jocher <[email protected]>
A few updates to the DVC tracker and around.
Screen.Recording.2023-08-12.at.2.28.15.PM.mov
🤖 Generated by Copilot at 11afc7d
Summary
🔗🛠️🎨
This pull request improves the DVCLive callback for image visualization and configuration, updates the documentation for using DVC with YOLOv5, and refactors the plot name handling in the trainer and validator classes. These changes enhance the user experience and the code quality of the ultralytics library.
Walkthrough
dvc
setting description indocs/quickstart.md
to link to DVC documentation for DVCLive (link)Path
objects instead of strings for plot names inon_plot
methods ofBaseTrainer
andBaseValidator
classes inultralytics/engine/trainer.py
andultralytics/engine/validator.py
(link, link)re
andpathlib
modules inultralytics/utils/callbacks/dvc.py
for file name and path manipulation (link)_log_images
function indvc.py
to enable slider functionality in DVCLive UI (link)ULTRALYTICS_DVC_DISABLED
environment variable and rely ondvc
setting insettings.yaml
inon_pretrain_routine_start
method indvc.py
to simplify logic and consistency (link)🛠️ PR Summary
Made with ❤️ by Ultralytics Actions
🌟 Summary
Improved DVC integration and enhanced image logging for machine learning experiment tracking.
📊 Key Changes
trainer.py
andvalidator.py
to utilize thePath
module for better path handling.dvc.py
to group images by batch, facilitating slider functionality in the DVCLive UI.SETTINGS.file
.🎯 Purpose & Impact
Path
enables more robust handling of filesystem paths, which can improve cross-platform compatibility.🎉 These changes aim to improve the user experience when tracking machine learning experiments, making data more accessible and the tool more intuitive to use.