-
Notifications
You must be signed in to change notification settings - Fork 32
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
html generation: make dvclive independent of dvc #213
Comments
cc @efiop
This seems reasonable and has been discussed in other scenarios, like referencing Other options:
|
The one I proposed is clunky, I just wanted to share the idea. Having each plot define its own config would definitely be possible .
Another problem that I see with this: how do we handle it in case of standalone |
Yeah, one advantage of using the current working directory is that it can work the same way with or without DVC. In that case, standalone dvclive run from the same directory will have the same behavior. |
сс @mattseddon JFYI since it might be affecting certain decisions on the VS code end (the whole live section will be deprectated) |
@shcheklein I am not sure I understand, why would be |
@shcheklein @pared as long as the extension has access to the template, the path to the plots data and the plots data is being updated then everything should be ok. We are not currently dependent on dvclive doing anything outside of writing the data. From reading it doesn't sound as if there is going to be a breaking change to |
I think that there might be some misconception regarding what this change is about to do. |
@pared This is coming from https://www.notion.so/iterative/Deprecate-live-section-of-dvc-yaml-432838600d9f48e99db3e3f92fec111c . The overall idea is that we could start using |
Ah, sorry, my bad, that makes sense. I thought we are talking here about the |
@daavoo I know deprecating |
Note that if we deprecate |
In iterative/dvc#6944 we are considering extracting the rendering outside of DVC.
This issue would go nicely with #163 - because we could let both DVC and dvclive use the same rendering backend, which would make dvclive more functional.
This unravels some problems:
In order to provide such functionality, we need to let
dvclive
provide configuration to the potential plots library.We discussed this issue with @dberenbaum and @daavoo and it seems that we could go two ways about it:
Let the
dvclive
render the data only at the runtime - we know what method has been called and can provide proper config from within the library - this however would make visualizing previously logged data hard. We could avoid that by saving the config on DVC side (similar to what we do withhtml
andsummary
now) - though that would make it work only in DVC +dvclive
use case. Standalonedvclive
would be limited.Let the
dvclive
store the configuration - that seems like our desired behavior, though it poses a problem: how to structure the plot config and how to store it so that both standalonedvclive
anddvvclive
+ DVC use cases work properly?Plot config would probably be defined by plots: flexible dvc.yaml spec dvc#7086
In the same issue we are intending to define plots specification inside
dvc.yaml
- but if we wantdvclive
to render too, we would need to store it somewhere non-DVC related. Initial idea would be to store it indvclive_path/.config
, but in this case, when we are usingdvclive
alongside DVC we will need to make sure DVC reads additionalplots
definitions from withindvclive
dirs.Maybe we could let
plots
section insidedvc.yaml
address other file by path?eg:
Which would let DVC know where to look for additional plots configurations and "expand it" on
dvc plots show/diff
. That would also makedvclive
independent of DVC in terms of plots generation.An additional problem for this use case is templates: do we want to let users define their own plots templates?
We will have to store them somewhere.
Did I miss something? cc @dberenbaum @daavoo
The text was updated successfully, but these errors were encountered: