-
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
hydra composition: Workflow discrepancies #8355
Comments
Not sure how critical or relevant these 2 points are. Perhaps is only required to acknowledge them in the docs, wdyt @dberenbaum |
Agree that this could be confusing and should be pointed out. However, IMHO this ephemeral state is more expected and useful for experimentation. It pretty much reflects how queued experiments work and how Hydra users work already. The way DVC handles workspace experiments is arguably an odd exception. I find it mostly annoying that I can't return to some default state after each experiment, so I personally wouldn't push to preserve state for Hydra experiments.
Can you think of an example where modifications would not be tracked by DVC? I thought they would all end up being tracked if they impact the experiment (either in |
Encountered a user confused by this behavior in https://discord.com/channels/485586884165107732/563406153334128681/1128718359878451360 |
I'm porting last conversation of Discord here so that we can carry on discussing it on this forum as suggested by @dberenbaum . I have |
Just to clarify, the experiments settings are applied to your $ dvc exp apply <exp-name>
$ dvc hydra.enabled = false
$ dvc exp run It seems odd that you need to disable hydra to reproduce the experiment, but it is consistent with how hydra command-line overrides work. We could at least document this behavior better so that it's clear how it differs from the typical dvc workflow. |
See https://discord.com/channels/485586884165107732/485596304961962003/1183845968089726976. Suggested there that we could add an option in |
@dberenbaum are there any updates on this useful feature? |
I did take a quick look but it looks more involved to implement than I initially expected. Does the workaround mentioned above not work for you, or you just want a simpler way to do it? |
I've already implemented a workaround, just thought that I'll be able to replace it with some native way) |
You can also use |
I think of It feels counterintuitive to me that you change parameters within the hydra config directory structure, that |
When using Hydra Composition for configuring DVC experiments, there are a few discrepancies with respect to the "regular" params workflow. This could cause confusion to existing users of
dvc params
when migrating to Hydra Composition:Without Hydra Composition, if modifications are done via
--set-param
and then the experiment is persisted, the nextexp run
with no arguments will reuse the latest modifications applied.With Hydra Composition, the next
exp run
with no arguments will still run the composition and dump toparams.yaml
, overriding the latest--set-param
modifications.Users would need to manually edit the files in
hydra.config_dir
and/or the default list values inhydra.config_name
in order to reflect the latest modifications via--set-param
.Without Hydra Composition, tracking the
params
is enough. A change inparams
file would result in a new experiment.With Hydra Composition, tracking only
params.yaml
could result in unexpected behavior, as manual modifications to files inhydra.config_dir
would not be detected by DVC.Users would need to also track
hydra.config_dir
.The text was updated successfully, but these errors were encountered: