-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Figure out a better convention for parsing ML metadata from containers #906
Comments
If we use product-prefixed name like Generally, I'd prefer to treat the mlmetadata as any other parameter/artifact output. Then we can detect it by the output name. WDYT? |
Yep, hardcoded paths aren't great. This is going away soon now that we've settled on using an SDK to record output artifacts. Let's leave this open until that's fixed so users are aware of it. I'm curious though, why was it ever ok to do this with the artifacts like metrics and ui metadata? Won't we run into the same problem in those cases as well? |
It was never OK for me. I objected that in both cases. I also spend quite a lot of time trying to undo the damage (e.g. make the UI metadata and Metrics just normal artifacts), but some of my efforts were blocked. |
If we only want per-task metadata support, I'd like it to just be an explicit output with name and type "metadata":
The program then just writes the metadata to the provided path. If we want per-output metadata support, I'd like it to work as follows:Variant 1: Explicit extra outputs with the "metadata" type and suffix:
The program then writes each output to the provided path. Also the metadata can be easily passed to downstream components that can examine it (e.g. look at accuracy and do additional training). Variant 2: Implicit metadata outputsIf you program writes the output data to With these approaches we can support all programming languages without writing SDKs for them and forcing every component author to install our code inside their containers. |
Signed-off-by: Theofilos Papapanagiotou <theofilos@gmail.com>
Right now, we parse a specific output file /output/mlmetadata/*. This is prone to errors, as users may choose this filename for something else. We should look at another way of parsing metadata produced by container steps.
The text was updated successfully, but these errors were encountered: