-
Notifications
You must be signed in to change notification settings - Fork 1
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
Show pushed DVC experiments #45
Comments
From https://discord.com/channels/485586884165107732/485596304961962003/930150143259459644:
|
If it is impossible to detect when new experiment refs have been pushed, IMO it would be acceptable to have users manually request to check for new experiments. |
Will this be possible when live metrics for local experiments are supported? If we are planning to show live metrics for local experiments, it seems like Studio could also show the final results or send completed experiments. cc @daavoo |
I think the UI components would be there but the client and backend require additional work to support the use case. The current local live metric only receive updates on stuff logged with DVCLive |
I believe we have another request for this: https://iterativeai.slack.com/archives/CUSNDR35K/p1672740347317239 |
What would it take to send "non-live"/post-experiment metrics to Studio? Some thoughts on the scope:
|
I agree with @daavoo here. We'll need to:
For DVC <> Studio BE communication we can reuse the contract we currently use for the DVCLive <> Studio BE communication: https://github.com/iterative/dvc-studio-client. We can also reuse existing UI components without a lot of modifications. Client-side is also prepared for more types of experiments. Hard to say how much time it'll take, but it looks like a separate Story to implement tbh. |
Thanks @mvshmakov! Yup, that's okay, just want to discuss it for now.
Sorry, I'm not that familiar with the live metrics implementation, so I'm not following. If we have this existing project and contract, why are all the other modifications needed? If DVC fulfills the API contract, what would happen if Studio treats it like a live experiment? |
Is it possible to read and subscribe to updates from GH/GL/BB to get these experiments in regular way as we are getting usual commits?
We should think about keeping this protocol open. E.g. we can use and support Git protocol from the Studio end. In this case Studio becomes an extra Git remote that can accept |
To reiterate, this is a bit different than the initial request in this issue, but I'm not focused on |
@dberenbaum got it. |
High-level: should we move the discussion internally and create a respected issue? High-level: @dberenbaum should we have the functionality of persisting the experiments in the Studio in the first place if we plan to support custom git refs? By decentralizing the experiments store (custom git refs and Studio-stored experiments) we may confuse users even more. In addition, at that point, it is not clear how to show all these different types of experiments in the project table, so it'd not be confusing. I personally believe it'd be better for us to focus on parsing custom refs, but I may be missing something. Overall, I think this issue is a bit confusing and we should better define the problem and scope (maybe break it into several ones) to be able to iterate on it.
The Studio will treat it as a live experiment with all the outcomes. Namely, Studio UI will show a loader near the experiment, the backend will expect We can theoretically push a new experiment with an
Listening to push webhook events (say, for the GH) and extracting custom git refs is more desirable I'd say. This way we'll stay within the GitOps concept boundaries and the main forge will still be a single source of truth. Otherwise, if the user manually removes some experiments from custom git refs and pushes them to their main forge omitting DVC, Studio will still have them. |
I’m late to the party here. But good to read all the discussions. Looks like there are 3 ways being proposed to see results of DVC experiments:
Using DVCLive (3) is what we are already implementing (Live metrics for local experiments). We can improve it further in the future, and maybe add Regarding DVC pushing directly to Studio (2), I agree with @mvshmakov that IMO extracting custom git refs (1) is the desirable solution for this isse. |
@mvshmakov You are right that it's a bit off topic. I moved this to a proposal in https://www.notion.so/iterative/Enhancement-Proposal-07b8d53f87b94b7291c289bb1eb45159 to discuss further. @tapadipti That's a good summary. Take a look at the proposal for why I think it's worthwhile to reuse live metrics functionality. |
@dberenbaum thanks! that was helfpul. so, we already have this dichotomy, already have two (or even three) types of experiments - commits, In terms of functionality (let's think about UX in VS Code) it might complicate it a bit - "Share an experiment" now becomes less clear. @dberenbaum it would be great to think the UX in VS Code and CLI in the proposal. |
@dberenbaum Should we close this since we now have dvc experiments visible in Studio? |
If a user runs experiments through
dvc exp run
workflow, they may push experiments to GitHub or another git server (viadvc exp push
). It would be great to see the results of these experiments in Studio.This may be useful in several scenarios:
The text was updated successfully, but these errors were encountered: