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

guide: consider/explain exp push --run-cache (Sharing Exps) #2687

Closed
1 of 2 tasks
Tracked by #2654
iesahin opened this issue Aug 4, 2021 · 9 comments
Closed
1 of 2 tasks
Tracked by #2654

guide: consider/explain exp push --run-cache (Sharing Exps) #2687

iesahin opened this issue Aug 4, 2021 · 9 comments
Labels
A: docs Area: user documentation (gatsby-theme-iterative) C: guide Content of /doc/user-guide

Comments

@iesahin
Copy link
Contributor

iesahin commented Aug 4, 2021

As some of the items in #2618 seems to need more tests and the completion of rearrangement in #2654, I'll be updating the requirements for the document here.

This issue is a cascading issue on top of #2367

Todo

  • Test --run-cache for dvc exp push to see its effects
  • Update index.md with links to "sharing experiments"
@iesahin iesahin added the A: docs Area: user documentation (gatsby-theme-iterative) label Aug 5, 2021
@jorgeorpinel jorgeorpinel assigned iesahin and unassigned iesahin Aug 15, 2021
@jorgeorpinel
Copy link
Contributor

jorgeorpinel commented Aug 15, 2021

Test --run-cache for dvc exp push

I'd ask the core team first to understand the intention of exp push --run-cache cc @pmrowla

@pmrowla
Copy link
Contributor

pmrowla commented Aug 16, 2021

It does the same thing as dvc push --run-cache. So the end result of an exp push --run-cache is that the git ref is pushed to your git remote and both dvc cache for the exp + run cache for the exp stages are pushed to your dvc remote.

In a collaborative environment, if users are sharing experiments, they may want to run the experiments themselves (whether it's with or without modifications). In these cases, it is still beneficial to have pushed/pulled run cache so that stages which someone else has already reproduced do not need to be re-run.

@iesahin
Copy link
Contributor Author

iesahin commented Aug 16, 2021

It is similar to what I understood. Run cache keeps the intermediate stage outputs so that other dvc exp runs don't rerun them. Normally these intermediate outputs are not pushed, just the final outputs, but with --run-cache in dvc exp push, these are pushed as well. Right?

@pmrowla
Copy link
Contributor

pmrowla commented Aug 16, 2021

Run cache associates input state (a defined stage itself + its dependencies) with an output state (outputs) for a given stage. If DVC has the run-cache information available, and see's that the user is trying to run a stage where the current input state is in the cache, it will just skip the execution and dvc checkout the output state

Run cache is not really related to intermediate stage outputs

https://dvc.org/doc/user-guide/experiment-management#automatic-log-of-stage-runs-run-cache
https://dvc.org/doc/user-guide/project-structure/internal-files#run-cache

@iesahin
Copy link
Contributor Author

iesahin commented Aug 17, 2021

Run cache associates input state (a defined stage itself + its dependencies) with an output state (outputs) for a given stage.

Run cache is not really related to intermediate stage outputs

:)

My emphasis is not on "intermediate", but the run cache keeps the stage state and updates the workspace without running if the same inputs + dependencies are given.

@pmrowla
Copy link
Contributor

pmrowla commented Aug 17, 2021

My point was in response to:

Normally these intermediate outputs are not pushed, just the final outputs, but with --run-cache in dvc exp push, these are pushed as well. Right?

Run cache does not include any outputs/data from your workspace. You can look at the structure of the run cache yourself (.dvc/cache/runs), but it's essentially just a mapping of the metadata you would see in dvc.lock files, where an input dvc.lock maps to an output dvc.lock. What gets pushed with dvc push --run-cache is that collection of lock files.

@jorgeorpinel jorgeorpinel changed the title guide: Updates for Sharing Experiments guide: consider/explain exp push --run-cache (Sharing Exps) Aug 18, 2021
@jorgeorpinel
Copy link
Contributor

So would you put this info in the Exp Sharing guide @iesahin ? Or somewhere else. What's the summary or key thing to document here? Thanks

@iesahin
Copy link
Contributor Author

iesahin commented Aug 31, 2021

I think we may to tell this both in Running and Sharing, describing different aspects, but I still could not test this.

@jorgeorpinel
Copy link
Contributor

jorgeorpinel commented Sep 1, 2021

K well maybe add a checkbox in #2768 instead and close this 🙂 Up to you

@iesahin iesahin removed their assignment Oct 5, 2021
@iesahin iesahin added the C: guide Content of /doc/user-guide label Oct 21, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A: docs Area: user documentation (gatsby-theme-iterative) C: guide Content of /doc/user-guide
Projects
None yet
Development

No branches or pull requests

4 participants