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

Add kfserving protocol to alibi explainer server #3248

Merged
merged 2 commits into from
Jun 4, 2021
Merged

Add kfserving protocol to alibi explainer server #3248

merged 2 commits into from
Jun 4, 2021

Conversation

ukclivecox
Copy link
Contributor

What this PR does / why we need it:

  • Adds kfserving v2 protocol to Alibi Explainer Server
  • Updates explainer notebook with cifar10 triton example

Which issue(s) this PR fixes:

Fixes #3247

Special notes for your reviewer:

Does this PR introduce a user-facing change?:

@review-notebook-app
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@seldondev
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
To complete the pull request process, please assign cliveseldon
You can assign the PR to them by writing /assign @cliveseldon in a comment when ready.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@ukclivecox ukclivecox requested a review from axsaucedo May 29, 2021 16:45
@ukclivecox
Copy link
Contributor Author

/test notebooks

@ukclivecox ukclivecox requested review from RafalSkolasinski and removed request for axsaucedo June 1, 2021 07:19

class Protocol(Enum):
tensorflow_http = "tensorflow.http"
seldon_http = "seldon.http"
seldon_grpc = "seldon.grpc"
v2_http = "kfserving.http"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just wondering for consistency whether we should call it kfserving everywhere - I guess later on we may do a full on refactor to just rename it to v2 everywhere

class KFServingV2RequestHandler():

def extract_request(self, request: Dict) -> List:
inputs = request["inputs"][0]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This would fail if it's empty, but I guess I can't think of a situation where we'd want to log empty request

if arr.dtype in _nptymap:
return {
"name": name,
"datatype": ty,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there any validation required for the type?

@axsaucedo
Copy link
Contributor

I added a couple of comments but other than that looks good 👍

@ukclivecox
Copy link
Contributor Author

/test integration

@ukclivecox
Copy link
Contributor Author

/test notebooks

1 similar comment
@axsaucedo
Copy link
Contributor

/test notebooks

@ukclivecox
Copy link
Contributor Author

/test integration

1 similar comment
@axsaucedo
Copy link
Contributor

/test integration

@axsaucedo
Copy link
Contributor

Merging

@axsaucedo axsaucedo merged commit 49c48c8 into SeldonIO:master Jun 4, 2021
@seldondev
Copy link
Collaborator

@cliveseldon: The following test failed, say /retest to rerun them all:

Test name Commit Details Rerun command
integration 0c9f291 link /test integration

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 jenkins-x/lighthouse repository. I understand the commands that are listed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Allow V2 Protocol for Alibi Explain Server
3 participants