-
Notifications
You must be signed in to change notification settings - Fork 692
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
How to propagate mlpipeline-metrics from custom Python function TFX component? #3094
Comments
@axeltidemann, this issue seems relevant to Kubeflow. |
@arghyaganguly But I see |
Sorry to bother you @jiyongjung0, but I'd really appreciate your input when you have the time. Thanks. |
I'm sorrry for late response. I'm not very familiar with Kubeflow stuff and was finding a better person to respond. @neuromage could you give some help on this issue? |
It seems
In addition, it should have been dealt with in the container entry point, like
Is there a specific reason for this omission? Or maybe something for a pull request? |
I tried to make changes to the source code of TFX itself (following the instructions here), where I basically implemented the changes above, i.e.
in
This was still not picked up by the KubeFlow UI. I assume there are some deeper changes needed, then. Maybe @neuromage can shed some light on this? |
Hi @axeltidemann, those changes look correct to me. /cc @numerology and @chensun, any ideas why the above may not be working? |
Changing May I ask which KFP version are you using (both SDK and deployment)? |
Good question. I don't specify which KFP version to use in deployment, I use the tfx CLI. It was my assumption that it creates a docker image from my local installation and uploads that to eu.gcr.io and therefore would use my local KFP version, but I can't figure out how to determine which KFP version is actually used on the cluster. Is there a way to find that out? These are my local versions, in any case:
|
Thanks, @chensun. The version displayed is indeed 1.0.4, and the container image label is in the YAML file in the KubeFlow UI: However, could it be that local changes I make to TFX are not packaged and uploaded to the KubeFlow cluster in any case? |
@numerology I suppose I should create a separate Docker image with my changes to TFX, push that to Docker hub, and make the
that the
However, I cannot figure out where to set which Docker image to use. I have even tried searching the repository for |
@axeltidemann Indeed, in order to do that I believe you'll need to specify the base image when running the CLI command. For example:
Also please refer to the help message for |
I wanted to mention how important getting Kubeflow metrics into TFX is for my team. I curious if this is no longer an issue in the kubeflow v2 runner? I haven't been able to try it out. |
Kubeflow v2 runner is still being developed. Currently it only compiles TFX DSL objects into KFP IR spec. The story of visualization in Kubeflow v2 runner is being discussed. /cc @neuromage |
@numerology I was able to create a custom
SDK KFP version is 1.4, and KubeFlow (deployment) is 1.0.4, could this be an issue? It was my understanding that the KubeFlow Pipelines (1.4) and deployment of KubeFlow on Kubernetes (1.0.4) are two different things, and that the version number comparison is meaningless (but please correct me if I am wrong). Do you have any other ideas? |
@neuromage maybe you have some ideas why the above approach does not work? |
@neuromage @numerology sorry to bother you again, but do you have any thoughts on this? |
@neuromage @numerology @axeltidemann |
No progress from my side, when I have time I'd like to re-try the suggestions I outlined above, just to verify. |
This issue has been marked stale because it has no recent activity since 7 days. It will be closed if no further activity occurs. Thank you. |
I still haven't had the time, but I'd very much like to keep this issue open. |
I want to export
mlpipeline-metrics
from my custom Python function TFX component so that it is displayed in the KubeFlow UI, as described here: https://www.kubeflow.org/docs/pipelines/sdk/pipelines-metrics/This is a minimal example of what I am trying to do:
In the KubeFlow UI, the "Run output" tab says "No metrics found for this run." However, the output artefact shows up in the
ML MetaData
(see screenshot). Any help on how to accomplish this would be greatly appreciated. Thanks!The text was updated successfully, but these errors were encountered: