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 save: save workspace state to an experiment ref #6746

Closed
dberenbaum opened this issue Oct 5, 2021 · 8 comments · Fixed by #8599
Closed

exp save: save workspace state to an experiment ref #6746

dberenbaum opened this issue Oct 5, 2021 · 8 comments · Fixed by #8599
Assignees
Labels
A: experiments Related to dvc exp p1-important Important, aka current backlog of things to do

Comments

@dberenbaum
Copy link
Collaborator

dberenbaum commented Oct 5, 2021

dvc exp commit would create an experiment from the current state of the workspace.

Use cases for this command include:

  • Not using DVC pipelines but still want to track experiments in a lightweight way. For example, by just having params in params.yaml and metrics in metrics.json (see Default metrics file #6168), DVC can track and compare experiments.
  • Code has already been run. The user might have already run code and wants to record it without committing it to their working branch.
  • Want to examine the results before deciding whether to save it as an experiment. Users can do dvc repro and do dvc exp commit whenever they want to track the experiment results.
  • Enables users to use dvc repro and still use experiments. Some users may prefer this because they are already used to dvc repro, and in other cases dvc exp run might not work quite the same way. This eases the need to have dvc repro and dvc exp run behave exactly the same (see ref: which repro options does exp run support? dvc.org#2861).
@dberenbaum dberenbaum added the A: experiments Related to dvc exp label Oct 5, 2021
@daavoo
Copy link
Contributor

daavoo commented Oct 5, 2021

* Enables users to use `dvc repro` and still use experiments. Some users may prefer this because they are already used to `dvc repro`, and in other cases `dvc exp run` might not work quite the same way. This eases the need to have `dvc repro` and `dvc exp run` behave exactly the same (see [ref: which `repro` options does `exp run` support? dvc.org#2861](https://github.com/iterative/dvc.org/issues/2861)).

Should we support checkpoints in dvc repro or would this dvc exp commit workflow not suitable for checkpoints?

@dberenbaum
Copy link
Collaborator Author

Each checkpoint is basically doing the same as dvc exp commit would do, right? I'm not sure what the behavior would be at each checkpoint in dvc repro.

@shcheklein
Copy link
Member

One minor thought on this. When I initially read about this I thought about dvc commit + git commit semantics. While this is more like dvc exp stash? or dvc exp save, right? I guess, my concern is that commit is so overloaded that might confuse people.

@daavoo
Copy link
Contributor

daavoo commented Oct 6, 2021

Each checkpoint is basically doing the same as dvc exp commit would do, right? I'm not sure what the behavior would be at each checkpoint in dvc repro.

I meant that, currently, you can't run dvc repro if checkpoints are enabled.

@dberenbaum
Copy link
Collaborator Author

One minor thought on this. When I initially read about this I thought about dvc commit + git commit semantics. While this is more like dvc exp stash? or dvc exp save, right? I guess, my concern is that commit is so overloaded that might confuse people.

Hmm, agreed. I like dvc exp save. It's less tangled in git lingo and more obvious to users.

@dberenbaum
Copy link
Collaborator Author

I meant that, currently, you can't run dvc repro if checkpoints are enabled.

What would you expect to happen at each checkpoint with dvc repro?

@dberenbaum dberenbaum changed the title exp commit: commit workspace state to an experiment exp save: save workspace state to an experiment ref Oct 6, 2021
@dberenbaum dberenbaum added the p1-important Important, aka current backlog of things to do label Sep 27, 2022
@dberenbaum
Copy link
Collaborator Author

@daavoo Let's assume for now at least that this workflow does not support checkpoints. However, I do think it should be possible to create a checkpoint within any workflow, including without using pipelines at all. Related: #7381.

@dberenbaum
Copy link
Collaborator Author

  • Not using DVC pipelines but still want to track experiments in a lightweight way.

Need to prioritize this feature request to support this workflow as a lightweight way to get started with experiments.

@dberenbaum dberenbaum added this to DVC Sep 27, 2022
@dberenbaum dberenbaum moved this to Backlog in DVC Sep 27, 2022
@dtrifiro dtrifiro moved this from Backlog to Review In Progress in DVC Oct 3, 2022
@dtrifiro dtrifiro moved this from Review In Progress to In Progress in DVC Oct 3, 2022
@dberenbaum dberenbaum assigned daavoo and unassigned dtrifiro Nov 18, 2022
Repository owner moved this from In Progress to Done in DVC Nov 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A: experiments Related to dvc exp p1-important Important, aka current backlog of things to do
Projects
No open projects
Archived in project
4 participants