Copy wandb param dict before training to avoid overwrites.#7317
Merged
glenn-jocher merged 2 commits intoultralytics:masterfrom Apr 6, 2022
n1mmy:fix-wandb-sweep-param-overwrite
Merged
Copy wandb param dict before training to avoid overwrites.#7317glenn-jocher merged 2 commits intoultralytics:masterfrom n1mmy:fix-wandb-sweep-param-overwrite
glenn-jocher merged 2 commits intoultralytics:masterfrom
n1mmy:fix-wandb-sweep-param-overwrite
Conversation
Copy the hyperparameter dict retrieved from wandb configuration before passing it to `train()`. Training overwrites parameters in the dictionary (eg scaling obj/box/cls gains), which causes the values reported in wandb to not match the input values. This is confusing as it makes it hard to reproduce a run, and also throws off wandb's Bayesian sweep algorithm.
Contributor
Author
Contributor
There was a problem hiding this comment.
👋 Hello @n1mmy, thank you for submitting a YOLOv5 🚀 PR! To allow your work to be integrated as seamlessly as possible, we advise you to:
- ✅ Verify your PR is up-to-date with upstream/master. If your PR is behind upstream/master an automatic GitHub Actions merge may be attempted by writing /rebase in a new comment, or by running the following code, replacing 'feature' with the name of your local branch:
git remote add upstream https://github.com/ultralytics/yolov5.git
git fetch upstream
# git checkout feature # <--- replace 'feature' with local branch name
git merge upstream/master
git push -u origin -f- ✅ Verify all Continuous Integration (CI) checks are passing.
- ✅ Reduce changes to the absolute minimum required for your bug fix or feature addition. "It is not daily increase but daily decrease, hack away the unessential. The closer to the source, the less wastage there is." -Bruce Lee
Contributor
|
Thanks for the PR. Looks good! |
glenn-jocher
approved these changes
Apr 6, 2022
Member
|
@n1mmy makes sense, good catch! PR is merged. Thank you for your contributions to YOLOv5 🚀 and Vision AI ⭐ |
Contributor
Author
|
Yay! Thank you both for the quick turnaround and for all your work on this project. I really appreciate it! |
BjarneKuehl
pushed a commit
to fhkiel-mlaip/yolov5
that referenced
this pull request
Aug 26, 2022
…s#7317) * Copy wandb param dict before training to avoid overwrites. Copy the hyperparameter dict retrieved from wandb configuration before passing it to `train()`. Training overwrites parameters in the dictionary (eg scaling obj/box/cls gains), which causes the values reported in wandb to not match the input values. This is confusing as it makes it hard to reproduce a run, and also throws off wandb's Bayesian sweep algorithm. * Cleanup Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Copy the hyperparameter dict retrieved from wandb configuration before passing it to
train(). Training overwrites parameters in the dictionary (eg scaling obj/box/cls gains), which causes the values reported in wandb to not match the input values. This is confusing as it makes it hard to reproduce a run, and also throws off wandb's Bayesian sweep algorithm.🛠️ PR Summary
Made with ❤️ by Ultralytics Actions
🌟 Summary
Improved stability in the Weights & Biases (wandb) sweeping process within YOLOv5 repo.
📊 Key Changes
hyp_dict) from the wandb sweep agent to include a.copy()operation.🎯 Purpose & Impact
train()modifies parameters that could confuse wandb if the dictionary is not copied.