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

experiments: add dvc exp push/pull/list #5042

Merged
merged 15 commits into from
Dec 8, 2020
Merged

Conversation

pmrowla
Copy link
Contributor

@pmrowla pmrowla commented Dec 7, 2020

Thank you for the contribution - we'll try to review it as soon as possible. πŸ™

Related to #4897.

  • Adds dvc exp list [--rev <rev>] [--all] [<git_remote>] to list available local or remote experiments.
    • Experiments will be organized according to their parent/baseline commit (same as in exp show).
    • If git_remote is provided, command will list remote experiments, otherwise it will list local experiments. git_remote should be either a Git remote name (i.e. origin) or a full Git repo URL (supports all Git URL specs, HTTP/SSH/etc)
    • If --rev <revision> is provided, all experiments derived from the specified revision will be listed (defaults to current HEAD).
    • If --all is provided, all experiments (derived from any revision) will be listed.
  • Adds dvc exp push [-f] <git_remote> <experiment> to push a single experiment to a Git remote.
    • git_remote should be a Git remote or full Git URL.
    • experiment should be the name of a local experiment
    • If -f/--force is provided, the remote experiment will be overridden if it already exists. Otherwise, a pre-existing remote experiment will only be updated if it can be fast-forwarded.
      • This is essentially the same as git push origin <branch> vs git push --force origin <branch>.
      • Fast-forwarding only applies to checkpoints in the event that I run some checkpoints, push them, then resume locally to generate more checkpoints, and then push again.
  • Adds dvc exp pull [-f] <git_remote> <experiment> to pull a single experiment from a Git remote.
    • Args work the same as dvc exp push.

Note: this does not implement dvc push/pull for experiment cache artifacts yet, it only implements git push/pull (even though the CLI output will suggest that the user run dvc push/pull).

asciicast

@pmrowla pmrowla added enhancement Enhances DVC A: experiments Related to dvc exp labels Dec 7, 2020
@pmrowla pmrowla self-assigned this Dec 7, 2020
@pmrowla pmrowla requested review from skshetry, pared and efiop December 7, 2020 11:29
@pmrowla pmrowla changed the title experiments: add dvc exp push/pull/list [WIP] experiments: add dvc exp push/pull/list Dec 7, 2020
@pmrowla
Copy link
Contributor Author

pmrowla commented Dec 7, 2020

Looks like a couple of the new tests are flaky, marking this WIP until they get fixed. Everything else should be ready for review.

dvc/command/experiments.py Outdated Show resolved Hide resolved
dvc/repo/experiments/list.py Outdated Show resolved Hide resolved
@pmrowla pmrowla changed the title [WIP] experiments: add dvc exp push/pull/list experiments: add dvc exp push/pull/list Dec 8, 2020
@pmrowla pmrowla merged commit 51fa0f5 into iterative:master Dec 8, 2020
@pmrowla pmrowla deleted the exp-push branch December 8, 2020 12:20
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 enhancement Enhances DVC
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants