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

exp run: add --no-save flag #9370

Closed
dberenbaum opened this issue Apr 26, 2023 · 6 comments
Closed

exp run: add --no-save flag #9370

dberenbaum opened this issue Apr 26, 2023 · 6 comments
Labels
A: cli Related to the CLI p2-medium Medium priority, should be done, but less important

Comments

@dberenbaum
Copy link
Collaborator

dberenbaum commented Apr 26, 2023

The first step could be adding a flag (--no-save?) to make the current dvc exp run behave like repro so that we have one consolidated command we could use when we are ready to deprecate the others.

Originally posted by @dberenbaum in #7866 (comment)

@dberenbaum dberenbaum added p1-important Important, aka current backlog of things to do A: cli Related to the CLI labels Apr 26, 2023
@dberenbaum dberenbaum mentioned this issue May 18, 2023
4 tasks
@dberenbaum dberenbaum changed the title exp run: add --no-exp flag exp run: add --no-save flag May 19, 2023
@dberenbaum
Copy link
Collaborator Author

What's our goal here? Do we want to have the same behaviour as dvc repro in dvc exp run --no-save? Or, is it just --no-save variant of dvc exp run? Ideally, they should be the same, but there are going to be subtle behaviour differences.

Originally posted by @skshetry in #7866 (comment)

@dberenbaum
Copy link
Collaborator Author

@skshetry Copying your comment here since #7866 has a lot of other noise.

What are the differences implementation-wise since they do both eventually call reproduce, right? One concern with basing it on exp run is additional overhead. If this is not doing any of the git tracking of the experiment and is always running in the workspace (no queueing or cloning to temp dirs), what overhead is left?

From #6791 (comment), there are a few options that aren't supported in exp run:

  • --no-run-cache
  • --no-commit
  • --glob

I can't recall the issue with trying to support glob, but if it's too much of a mess to support it properly, I think we could drop it. The other two seem reasonable to keep only with --no-save, although I doubt either is commonly used.

@dberenbaum

This comment was marked as duplicate.

@daavoo
Copy link
Contributor

daavoo commented May 23, 2023

If we add --no-save and just make it an if that calls repo.reproduce, I don't see the need for any discussion. There is no overhead and all flags could be supported

@dberenbaum
Copy link
Collaborator Author

Another important distinction to preserve is that dvc repro can run with no_scm.

@dberenbaum
Copy link
Collaborator Author

@skshetry I've been playing with using exp run for everything, and TBH it feels annoying a lot of the time when you don't actually need an experiment. Even with --no-save, I would prefer not to have to add that flag all the time. So I don't think we even need to prioritize this flag.

What is critical is to make repro and exp run as similar as possible so we can say that they are functionally equivalent except for the additional overhead of saving, queuing, etc. without users needing to worry about small differences between them.

For now, it seems that these are the known discrepancies to address then:

From #6791 (comment), there are a few options that aren't supported in exp run:

* `--no-run-cache`

* `--no-commit`

* `--glob`

I can't recall the issue with trying to support glob, but if it's too much of a mess to support it properly, I think we could drop it. The other two seem reasonable to keep only with --no-save, although I doubt either is commonly used.

@skshetry skshetry removed their assignment Jun 28, 2023
@dberenbaum dberenbaum added p2-medium Medium priority, should be done, but less important and removed p1-important Important, aka current backlog of things to do labels Aug 10, 2023
@dberenbaum dberenbaum closed this as not planned Won't fix, can't repro, duplicate, stale Jan 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A: cli Related to the CLI p2-medium Medium priority, should be done, but less important
Projects
None yet
Development

No branches or pull requests

3 participants