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: using metrics/plots and params without pipelines #2216

Closed
tupui opened this issue Feb 18, 2021 · 11 comments
Closed

guide: using metrics/plots and params without pipelines #2216

tupui opened this issue Feb 18, 2021 · 11 comments
Labels
A: docs Area: user documentation (gatsby-theme-iterative) C: guide Content of /doc/user-guide duplicate This issue or pull request already exists. good first issue Good for newcomers type: enhancement Something is not clear, small updates, improvement suggestions

Comments

@tupui
Copy link

tupui commented Feb 18, 2021

UPDATE: Related/part of #2815

My use case involves the inability to really use pipelines. I have models and data, but I am not (or cannot) do the training. So I don't have experiments per se. Still, I have metrics or other metadata I would want to track.

Apparently I can do this using commands like dvc metrics diff --targets metrics.json. I think this could be highlighted in the documentation that it is not required to have a dvc.yaml file. Although I would prefer that the cmd argument would be optional.

UPDATE: Jump to #2216 (comment)

I can do a PR with guidance about where I should put this if wanted. I thought about putting this in a use case (versioning) or in the user guide.

Reference to this proposal is here . cc @jorgeorpinel

@shcheklein shcheklein added the A: docs Area: user documentation (gatsby-theme-iterative) label Feb 18, 2021
@shcheklein
Copy link
Member

Although I would prefer that the cmd argument would be optional.

cc @skshetry

@shcheklein shcheklein added the type: enhancement Something is not clear, small updates, improvement suggestions label Feb 18, 2021
@jorgeorpinel
Copy link
Contributor

prefer that the cmd argument would be optional

Not sure having stages without an action would make sense. But how about accepting params, metrics, and plots in regular .dvc files? They already accept deps and outs which are the parents of the aforementioned fields.

@jorgeorpinel
Copy link
Contributor

jorgeorpinel commented Feb 19, 2021

where I should put this if wanted

@tupui The command reference would be the first place that comes to mind.

Already mentioned in:

Not mentioned yet in:

Not supported in:

One strategy would be to make sure the mentions are emphatic enough e.g. instead of parenthesis or grayed out notes, make a paragraph (starting with the 💡 emoji perhaps). Also review that it's mentioned in the --targets options for commands that have those.

Another idea would be to just leave minimal mentions (double check they're consistent), but emphasize in the Options section of each ref: for targets argument create an entry that fully describes the behavior and accepted values, like in https://dvc.org/doc/command-reference/repro#options. For --targets options similarly expand as much as needed.

@tupui
Copy link
Author

tupui commented Feb 19, 2021

Not sure having stages without an action would make sense. But how about accepting params, metrics, and plots in regular .dvc files? They already accept deps and outs which are the parents of the aforementioned fields.

But the value of the main yaml is that the information is centralised. If you just want to give general metadata, there should be an easy way to do so without needing to have stages or anything else. A top level option in the yaml would be better IMO. But maybe this is calling for a dedicated file as this yaml is move about pipelines.

@tupui
Copy link
Author

tupui commented Feb 19, 2021

One strategy would be to make sure the mentions are emphatic enough e.g. instead of parenthesis or grayed out notes, make a paragraph (starting with the 💡 emoji perhaps). Also review that it's mentioned in the --targets options for commands that have those.

Another idea would be to just leave minimal mentions (double check they're consistent), but emphasize in the Options section of each ref: for targets argument create an entry that fully describes the behavior and accepted values, like in https://dvc.org/doc/command-reference/repro#options. For --targets options similarly expand as much as needed.

Reading at the metrics one for instance, I think the explanation is OK. What I was missing is the fact that I could use all these function without the need to have the yaml file. So in Project structure that could maybe be highlighted. Currently it is saying:

dvc.yaml pipelines files define stages that form the pipeline(s) of a project. All stage-based features such as dvc params, dvc metrics, and dvc plots are specified here.

Which can lead to the conclusion that you have to use this yaml in order to use these functionalities.

@jorgeorpinel
Copy link
Contributor

jorgeorpinel commented Feb 20, 2021

If you just want to give general metadata, there should be an easy way to do so without needing to have stages or anything else. A top level option in the yaml would be better IMO.

There's a separate discussion around that. See iterative/dvc#3936 (comment)
For now file metadata needs it's own .dvc file so I think that's where params/metrics support could be added. If/when tracking data gets incorporated to dvc.yaml that would carry over too.

BTW this part of the discussion should be in the iterative/dvc repo to be considered. Let's see if @skshetry has no objection on opening that issue (thanks).

@jorgeorpinel
Copy link
Contributor

the metrics one for instance, I think the explanation is OK

Which one? It's not even mentioned in https://dvc.org/doc/command-reference/metrics or https://dvc.org/doc/command-reference/metrics/show.

in Project structure that could maybe be highlighted

Feel free to send a proposed change (via a PR). Thanks

@tupui
Copy link
Author

tupui commented Feb 20, 2021

the metrics one for instance, I think the explanation is OK

Which one? It's not even mentioned in https://dvc.org/doc/command-reference/metrics or https://dvc.org/doc/command-reference/metrics/show.

The one for diff. But true it is missing from the general metric discussion.

in Project structure that could maybe be highlighted

Feel free to send a proposed change (via a PR). Thanks

Ok I will try to propose something 😃

@skshetry
Copy link
Member

skshetry commented Mar 4, 2021

Btw, .dvc file does support specifying metrics, params and plots. This is a pre-1.0 compatibility feature though.

We have also plans for supports different sections in dvc.yaml file. Eg:

metrics:
  - metrics.json
stages:
  ...

@jorgeorpinel jorgeorpinel added the good first issue Good for newcomers label Mar 9, 2021
@jorgeorpinel jorgeorpinel changed the title Add a note about using metrics, params and plot without pipelines guide: using metrics/plots and params without pipelines Sep 27, 2021
@iesahin iesahin added the C: guide Content of /doc/user-guide label Oct 21, 2021
@jorgeorpinel
Copy link
Contributor

Merged into #2815.

@jorgeorpinel jorgeorpinel added the duplicate This issue or pull request already exists. label Nov 30, 2021
@jorgeorpinel
Copy link
Contributor

#2572, rather.

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 duplicate This issue or pull request already exists. good first issue Good for newcomers type: enhancement Something is not clear, small updates, improvement suggestions
Projects
None yet
Development

No branches or pull requests

5 participants