Skip to content
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

Remove custom W&B config changes #236

Merged
merged 9 commits into from
Jan 26, 2022
Merged

Conversation

siriuslee
Copy link
Contributor

Removes custom 'algorithms' and 'models' sections from W&B

Removes custom 'algorithms' and 'models' sections from WB
@siriuslee siriuslee self-assigned this Jan 14, 2022
Copy link
Contributor

@ravi-mosaicml ravi-mosaicml left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

Copy link
Contributor

@Averylamp Averylamp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, but also remove the custom flattening in the next 60 or so lines

@hanlint
Copy link
Contributor

hanlint commented Jan 19, 2022

@siriuslee could you provide more motivation/context for this change, and how it impacts users of w&b?

@siriuslee
Copy link
Contributor Author

@siriuslee could you provide more motivation/context for this change, and how it impacts users of w&b?

This removes some custom W&B work we did to make organizing our data collection efforts easier as the underlying composer library changed. A lot of these changes are now unnecessary or would be better made explicitly by the user. One of these changes (replacing model config data with the model name) actually deleted important configuration data.

As for the flattening, W&B will partially flatten the config dictionary that it's given for easier visualization and filtering runs. A nested key, after flattening, can be queried in W&B as "a.b.c". This doesn't work for objects that are lists, however, like schedulers. Our custom flattener takes care of that. After talking a bit more with @Averylamp , I've added a switch flatten_hparams that can optionally flatten the config before uploading if the user desires. I've defaulted it to False but am open to True if we think that is a more common use case.

Copy link
Contributor

@Averylamp Averylamp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm thanks just make sure checks pass

@Averylamp
Copy link
Contributor

@siriuslee could you provide more motivation/context for this change, and how it impacts users of w&b?

This removes some custom W&B work we did to make organizing our data collection efforts easier as the underlying composer library changed. A lot of these changes are now unnecessary or would be better made explicitly by the user. One of these changes (replacing model config data with the model name) actually deleted important configuration data.

As for the flattening, W&B will partially flatten the config dictionary that it's given for easier visualization and filtering runs. A nested key, after flattening, can be queried in W&B as "a.b.c". This doesn't work for objects that are lists, however, like schedulers. Our custom flattener takes care of that. After talking a bit more with @Averylamp , I've added a switch flatten_hparams that can optionally flatten the config before uploading if the user desires. I've defaulted it to False but am open to True if we think that is a more common use case.

This was a hack I introduced during data collection to make Niklas’ data querying more consistent

@hanlint hanlint merged commit 4c1b177 into mosaicml:dev Jan 26, 2022
A-Jacobson pushed a commit that referenced this pull request Feb 10, 2022
* Remove custom WB stuff


Removes custom 'algorithms' and 'models' sections from WB

* Fix

* Add hparams flattening behind a flag

* Fix overwriting extra_init_params when 'config' is provided

* Fixed recursive error when `flatten_hparams` set to False
coryMosaicML pushed a commit to coryMosaicML/composer that referenced this pull request Feb 23, 2022
* Remove custom WB stuff


Removes custom 'algorithms' and 'models' sections from WB

* Fix

* Add hparams flattening behind a flag

* Fix overwriting extra_init_params when 'config' is provided

* Fixed recursive error when `flatten_hparams` set to False
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants