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 support for pluggable explainer runtimes #3564
base: master
Are you sure you want to change the base?
Add support for pluggable explainer runtimes #3564
Conversation
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: TimKleinloog 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 |
@terrytangyuan I started this clean PR here after #3443 was merged. The tests look to succeed now, is it already possible to merge this? |
@@ -26,6 +26,8 @@ import ( | |||
type ExplainerSpec struct { | |||
// Spec for ART explainer | |||
ART *ARTExplainerSpec `json:"art,omitempty"` | |||
// Explainer spec for any arbitrary framework. | |||
Model *ModelSpec `json:"model,omitempty"` |
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.
This is currently defined in predictor.go
. Perhaps we should extract that out?
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.
This is actually defined in model.go
which I renamed (was predictor_model.go
) so it is more logical that is used in both explainer.go
and predictor.go
. In model.go
the PredictorExtensionSpec
is used which is defined in predictor.go
do you think we should extract that out?
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.
@TimKleinloog Can you limit the scope of this PR to only include the new feature? New runtimes can be added via a separate PR as an example for now.
I will open a new PR and remove the explainer runtime example from the scope of this PR 👌 |
Signed-off-by: Tim Kleinloog <tkleinloog@deeploy.ml>
dbf83e2
to
9053725
Compare
Signed-off-by: Tim Kleinloog <tkleinloog@deeploy.ml>
Signed-off-by: Tim Kleinloog <tkleinloog@deeploy.ml>
@TimKleinloog Can you help resolve the conflicts? |
Signed-off-by: Tim Kleinloog <tkleinloog@deeploy.ml>
Signed-off-by: Tim Kleinloog <tkleinloog@deeploy.ml>
Done, hope this will be one of the last conflicts to resolve :) |
What this PR does / why we need it:
For additional context see #3398
Which issue(s) this PR fixes (optional, in
fixes #<issue number>(, fixes #<issue_number>, ...)
format, will close the issue(s) when PR gets merged):Implements #3398
New clean PR resulting from #3418
Type of changes
Feature/Issue validation/testing:
Please describe the tests that you ran to verify your changes and relevant result summary. Provide instructions so it can be reproduced.
Please also list any relevant details for your test configuration.
Special notes for your reviewer:
Checklist:
Release note: