-
-
Notifications
You must be signed in to change notification settings - Fork 644
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
Mix-matching configs to create experiment configuration #406
Comments
Hi @achigeor!
dataset:
name: dataset1
path: /foo/dataset1 There is a feature request to address this, at least in part by adding the ability to specifying the node path for merging a config group. see #235. However, on the surface the need to specify more than dataset hints at a possible modeling problem: As you have pointed out with the edit, more powerful composition will be enabled when (if) #171 is implemented. Generally, lists (like in your transformers examples) are tricky to compose. currently Hydra will replace a list. transformers:
scale:
...
translate:
...
transform:
- ${transformers.scale}
- ${transformers.translate
... This way the list stays minimal and easy to define while the repeated information is stored only once. Feel free to join the chat, it feels like this is better done interactively. |
Thanks for the quick reply @omry! I will go through your answer in more detail and move this to the chat as you suggested. Some quick comments regarding your point on datasets. Indeed, we are using more than one datasets the same time, leveraging ConcatDataset functionality of pytorch. |
Thanks for clarifying about the datasets. |
Happy to discuss further in the chat. At least for now it looks like this is already covered by the two other enhancement requests I mentioned so I am closing this. |
Hi @omry,
Thanks for this awesome framework and work!
I'd like to explain my usecase and get your input if that's possible, since after reading the docs, tutorials and issues, it's still a bit unclear to me.
Currently we use yaml configs to setup our pytorch DL experiments. Each experiment has a config file, where everything is defined with the goal of writing as little code as possible. For example, one can define arbitrary torchvision transformations to be composed, e.g.:
or datasets to use, etc.
Currently these configs have a lot of repeated information, which makes hydra the perfect tool to use.
What I am aiming for is an architecture like the following:
And then inside the yaml experiments, something like:
Finally, the end user would just run
python main.py --config experiment1.yaml
.Is this something that could in principle be achieved with Hydra now, or in the future?
Or am I approaching this the wrong way?
Would love to hear your thoughts on this.
Thanks!
EDIT: Maybe related to #171?
The text was updated successfully, but these errors were encountered: