-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Simplify execution of various runs with different params #7891
Comments
This is what Facebook's Hydra does, and it really is intuitive and clean. |
We are currently exploring different ways to integrate with Hydra. This feature is part of the scope |
#8187 is adding support for using Hydra syntax in
Will put 2 experiments in the queue, that can be later executed with |
My main usecase for the feature request would be to auto-generate such parameter files. This would allow to use any algorithm for calculating the concrete parameters, without the need to include all such algorithms in dvc itself. |
@behrica Would you be interested in a Python API to do this? My feeling is that if you need to auto-generate all parameter combinations, you may as well call A Python API could add more parameter combinations as you go. It also adds possibilities to do more complex operations like randomly select a parameter from an interval. Maybe we could support that in a way that is broadly useful across any search algorithm? |
I am very happy that DVC is language independent. I use it from Clojure. Then I could generate such a file from Clojure |
But this makes it rather static, indeed. |
But the workaround you mentioned is feasible as well. |
I think the general question is to decide on this question : Should dvc itself start to provide various algorithms to "statically calculate" concrete parameters from "a user supplied parameter space" It seems to me that #8187 is a first step in this direction. The user gives the space, and dvc calculates all combinations. To allow a "parameter file" would externalize this and allow to keep it out of dvc. This does not address yet the question of doing this non static using past results of training for example. |
I see the "user interface" very similar to #8187
|
By the way, this is already possible to do with Hydra. You would save them as YAML files in your |
|
Sorry, there is some hydra-specific syntax. You have to use
|
I tried it out, and that might work. I did it now in a complete different way, which is working as well, not using hydra al all. Basically I loop over all my parameter combinations in code and do:
This is maybe even good enough for closing this issue. |
Makes sense @behrica! Yeah, there are too many different ways to do this to have them all be "built in," but glad you found a pattern that works for you. |
As an alternative to repeated (manual) executions of:
it might be usefull (and clean, I think) to allow some way to "pass several param files" (from a folder maybe),
and this would "auto-queue" runs automatically accordingly.
The text was updated successfully, but these errors were encountered: