-
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
Training and Serving Pipeline leveraging WML #800
Conversation
Hi @animeshsingh. Thanks for your PR. I'm waiting for a kubeflow member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
1 similar comment
Hi @animeshsingh. Thanks for your PR. I'm waiting for a kubeflow member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/retest |
1 similar comment
/retest |
@animeshsingh: Cannot trigger testing until a trusted user reviews the PR and leaves an In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
1 similar comment
@animeshsingh: Cannot trigger testing until a trusted user reviews the PR and leaves an In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/test kubeflow-pipeline-e2e-test |
Removing references to wml-base image, and recreating it with python-slim as base image
So there's good news and bad news. 👍 The good news is that everyone that needs to sign a CLA (the pull request submitter and all commit authors) have done so. Everything is all good there. 😕 The bad news is that it appears that one or more commits were authored or co-authored by someone other than the pull request submitter. We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that here in the pull request. Note to project maintainer: This is a terminal state, meaning the |
@vicaire we confirm the PR is good from our side, and has consent from all the authors. Please review |
# download scoring payload | ||
payload_file = os.path.join('/app', wml_scoring_payload) | ||
|
||
s3 = boto3.resource('s3', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you please use Minio client instead of S3 directly?
Minio client abstracts away AWS S3, GCS, Azure Cloud, and Minio Server (on prem solution), so that the component is compatible with all these clouds.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@vicaire this is something we can definitely come back to in future, as we strive to take the message of 'Watson anywhere' forward. Currently s3 client is something most of the developer use
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi animeshsingh@, we are moving towards making all the components checked into the repository compatible with multiple clouds.
Minio Client should be simple to use (as much as using an S3 client directly) and would make the component work across multiple clouds.
It would also make it easy to add a end-to-end test for this component (our e2e test framework uses GCP). e2e tests are important as they automatically verify that the component keeps working at each PR commit.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @vicaire . We will look into minio client. Vis a vis the end to end test, how are we doing it for components which use GCP, for e.g. Cloud Dataflow service? Do we create a dedicated set of credentials? If not, the tests are mostly mocking the behaviour?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@vicaire We have switched to minio client. End to end tests - want to get your input as mentioned above
if __name__ == '__main__': | ||
# compile the pipeline | ||
import kfp.compiler as compiler | ||
pipeline_filename = kfp_wml_pipeline.__name__ + '.tar.gz' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did you think of a way tests could be written for this pipeline? And end to end test would be useful but the call to IBM watson would have to be mocked. Let me know your thoughts.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will invstigate
Thanks animeshsingh@, The changes look good. Could you please just modify the code/documentation so that it does not seem s3 specific but multi-cloud instead? Using "object store" instead of "s3" in the doc would be great, using minio or minio_client instead of s3 in the code would be great as well. We are working on doing the same thing for parts of the codebase where GCS is mentioned. The community feels strongly about Kubeflow being a project that is independent of any cloud. Let's skip e2e tests for now as we are trying to figure out to organize this for contributions. We will also need to release your containers, which requires a review process. Thanks! |
Thanks @vicaire. We have changed s3 to cos, standing for cloud object store. Please take a look and see if we can get this in now |
Thank you. This is great. |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: vicaire The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
@animeshsingh, this is blocked by the CLA agreement. |
@vicaire there are two authors, and the other one has given consent. He has signed the CLA as well..do we need anything else? |
According to the robot: So there's good news and bad news. 👍 The good news is that everyone that needs to sign a CLA (the pull request submitter and all commit authors) have done so. Everything is all good there. 😕 The bad news is that it appears that one or more commits were authored or co-authored by someone other than the pull request submitter. We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that here in the pull request. Note to project maintainer: This is a terminal state, meaning the |
So the second author just needs to confirm approval in the pull request. Then I can add the label and we can check this in. |
LGTM. Looks good to me. Approve. |
@vicaire please check above |
Sounds good. Thanks for your contribution! |
* initial watson pipeline * updates * updates * Update creds * updated dockerhub base files * update watson pipeline (kubeflow#2) Removing references to wml-base image, and recreating it with python-slim as base image * address review comment (kubeflow#3) * change s3 to cos (kubeflow#4)
* Add custom inference example using BentoML * nit: add introductary to setup and improve instructions * Remove note about kfserving-ingressgateway and update curl command
The
Watson Train and Serve
sample pipeline runs training, storing and deploying a Tensorflow model with MNIST handwriting recognition using IBM Watson Studio and IBM Watson Machine Learning service.This change is