-
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
exp init: support interactive and explicit options #6681
Conversation
message = ( | ||
"This command will guide you to set up your first stage in " | ||
"[green]dvc.yaml[/green].\n" | ||
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There were some suggestions to do dvc init
if we detect that there's no dvc
repo. dvc exp init
is likely going to be used for the first time, so I added that up, but we could autodetect the presence of dvc.yaml
file as well to have heading or not.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome, that sounds great!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The non-dvclive scenario looks good, although I think we could still guide the users more with the messaging, assuming that they don't know anything about dvc experiments, stages, etc.
For dvclive, I still think it needs to be separate or handled a bit differently because:
- It should assume the models output has
checkpoint: true
. - It should not ask for metrics or plots since dvclive should handle these. In more complex stages, maybe there could be scenarios where users have additional custom metrics/plots, but I think this would confuse new users.
message = ( | ||
"This command will guide you to set up your first stage in " | ||
"[green]dvc.yaml[/green].\n" | ||
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome, that sounds great!
Could you please suggest some examples? Also it may be a bit noisy.
I think the easiest way to do that is to ask the user about |
See the comment in #6637 (comment):
As mentioned there, we could tweak it later, so no need to block this PR to agree on the wording.
Why not just ask at the start like: "Do you want to log training steps iteratively with dvclive?" How do you anticipate this working for non-interactive mode? I'm still wondering whether the template option is needed (solely as a cli option, not as an actual template; it could be renamed) to separate the dvclive scenario and provide flexibility to add other scenarios in the future. What do you think? |
This PR adds support for
--interactive
and--explicit
options. This does not have support for templates, which still requires some thought. This change also makesdvclive
optional, it'll be only applied if the--live
flag is used or the user responds interactively (where it'll still be asked for by default).Also adds the
--force
flag to mirrordvc stage add
.This includes stuff we have discussed in #6637 (comment) so far.
If we still need templates, it could be done over this.
Supersedes #6630 and #6637.