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

Resolve Hydra ListConfig objects #612

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

RafayAK
Copy link

@RafayAK RafayAK commented Oct 14, 2023

What does this PR do?

Resolves Hydra ListConfig objects so that dynamic inteploation works when printing config tree.
Also updated the example.yaml experiment to showcase the use.

Fixes #611

Before submitting

  • Did you make sure title is self-explanatory and the description concisely explains the PR?
  • Did you make sure your PR does only one thing, instead of bundling different changes together?
  • Did you list all the breaking changes introduced by this pull request?
  • Did you test your PR locally with pytest command?
  • Did you run pre-commit hooks with pre-commit run -a command?

Did you have fun?

🚀

@codecov-commenter
Copy link

codecov-commenter commented Oct 14, 2023

Codecov Report

All modified lines are covered by tests ✅

Comparison is base (bddbc24) 83.24% compared to head (e0db27f) 83.24%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #612   +/-   ##
=======================================
  Coverage   83.24%   83.24%           
=======================================
  Files          11       11           
  Lines         376      376           
=======================================
  Hits          313      313           
  Misses         63       63           
Files Coverage Δ
src/utils/rich_utils.py 82.60% <100.00%> (ø)

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@RafayAK
Copy link
Author

RafayAK commented Oct 14, 2023

After the change suggested in this PR the printed config tree is correct and has the dynamic interploation for list items as well:

CONFIG
├── data
│   └── _target_: src.data.mnist_datamodule.MNISTDataModule                                                                                                                                        
│       ...                                                                                                                                                                   
│                                                                                                                                                                                                  
├── model
│   └── _target_: src.models.mnist_module.MNISTLitModule                                                                                                                                           
│       ...                                                                                                                                                                       
│                                                                                                                                                                                                  
├── callbacks
│   └── ...                                                                                                                              
│                                                                                                                                                                                                  
├── logger
│   └── wandb:                                                                                                                                                                                     
│         tags:                                                                                                                                                                                    
│         - mnist                                                                                                                                                                                  
│         - simple_dense_net                                                                                                                                                                       
│         - train                                                                                                                                                                                  
│         - batch_size_64                                                                                                                                                                          
│         group: mnist                                                                                                                                                                             
│       aim:                                                                                                                                                                                       
│         experiment: mnist                                                                                                                                                                        
│                                                                                                                                                                                                  
...
...                                                                                                                                                                        
├── tags
│   └── - mnist                                                                                                                                                                                    
│       - simple_dense_net                                                                                                                                                                         
│       - train                 # RESOLVED                                                                                                                                                           
│       - batch_size_64         # RESOLVED                                                                                                                                                                   
│                                                                                                                                                                                                  
...

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.

Hydra ListConfig objects are not dynamically interploated.
2 participants