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

Outlier example #1306

Merged
merged 16 commits into from
Jan 7, 2020
Merged

Outlier example #1306

merged 16 commits into from
Jan 7, 2020

Conversation

RafalSkolasinski
Copy link
Contributor

@RafalSkolasinski RafalSkolasinski commented Dec 27, 2019

New example of seldon deployment of loan classifier with outlier detection.

This is still WIP. Right now there are two approaches to this tutorial:

  • first with all code defined in notebook that uses %%writefile to populate python modules
  • second that contains most of the relevant code already in python modules and also uses combiner in seldon graph

I am keen to go with the second approach as it seems easier to navigate, reader is less overwhelmed by lengthy notebook and code is easier to version control and reuse.

What's missing:

  • decide which approach should be left
  • choose examples that better illustrates outliers detection and tells better story
  • if going with second layout -> add comments
  • if going with first layout -> add combiner
  • in both cases -> make new image of tutorial graph
  • once everything else is ready -> test with Minikube and remove reference to docker images on docker hub in favour of local images

@review-notebook-app
Copy link

Check out this pull request on  ReviewNB

You'll be able to see Jupyter notebook diff and discuss changes. Powered by ReviewNB.

@seldondev
Copy link
Collaborator

Fri Dec 27 13:18:53 UTC 2019
The logs for [pr-build] [1] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-1306/1.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-1306 --build=1

@seldondev
Copy link
Collaborator

Fri Dec 27 13:19:00 UTC 2019
The logs for [lint] [2] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-1306/2.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-1306 --build=2

@seldondev
Copy link
Collaborator

Fri Dec 27 14:41:52 UTC 2019
The logs for [pr-build] [3] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-1306/3.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-1306 --build=3

@seldondev
Copy link
Collaborator

Fri Dec 27 14:42:01 UTC 2019
The logs for [lint] [4] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-1306/4.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-1306 --build=4

@axsaucedo
Copy link
Contributor

There are quite a lot of areas with "Notes from Rafal" which I assume would be removed, but several have content that may be worth keeping - would this be something you're also planning to add in this PR?

@RafalSkolasinski
Copy link
Contributor Author

RafalSkolasinski commented Dec 30, 2019 via email

Copy link
Contributor

@axsaucedo axsaucedo left a comment

Choose a reason for hiding this comment

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

Nice one! Looks solid, I just added a few comments, would be good to hear your thoughts

@axsaucedo
Copy link
Contributor

Ou... Sorry about those. They're in the Kubeflow example - I wanted to keep those notes in separate branch of my fork and had to start working on this PR with a wrong base by accident. Please disregard this first commit for now, I will rebase on top of master once I'm back leaving only relevant changes here. BTW, what do you think about the two approaches to the actual outliers example, which one you think is better?

Got it, sounds good. I was going to add a few more comments on the /kubeflow/ dir but I'll skip it

In regards to the approaches, I can see in the notebook that the way you show it is through the Model wrapper + remote_detect_fn, but you also include the method with the combiner. I think seeing the code for the combiner, it actually seems more intuitive in regards to the separation of concerns, as you actually build the wrapper for the detector and model separately and then use the combiner to just aggregate them. Maybe it would actually be best to go for the latter one, and providing a bit of an intro to the concept of the combiner. Looks solid!

@RafalSkolasinski
Copy link
Contributor Author

Maybe it would actually be best to go for the latter one, and providing a bit of an intro to the concept of the combiner. Looks solid!

Glad to hear! I will cleanup the first approach and rebase on current master.
Shall I squash commits for cleaner history or leave them so we have other approach in git too?

@seldondev
Copy link
Collaborator

Thu Jan 2 13:35:18 UTC 2020
The logs for [lint] [6] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-1306/6.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-1306 --build=6

@seldondev
Copy link
Collaborator

Thu Jan 2 13:35:24 UTC 2020
The logs for [pr-build] [5] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-1306/5.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-1306 --build=5

@RafalSkolasinski
Copy link
Contributor Author

@axsaucedo Currently the tutorial consists of three s2i builds which take some time. Most of it is installing python dependencies. What do you think about adding a Dockerfile that would pip install requirements-dev.txt and each of the three s2i builds would only add necessary model files?

This would be similar to spacy tokernizer from Kubeflow example.

@seldondev
Copy link
Collaborator

Thu Jan 2 14:49:36 UTC 2020
The logs for [pr-build] [7] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-1306/7.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-1306 --build=7

@seldondev
Copy link
Collaborator

Thu Jan 2 14:49:48 UTC 2020
The logs for [lint] [8] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-1306/8.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-1306 --build=8

@seldondev
Copy link
Collaborator

Thu Jan 2 15:30:58 UTC 2020
The logs for [lint] [10] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-1306/10.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-1306 --build=10

@seldondev
Copy link
Collaborator

Thu Jan 2 15:36:22 UTC 2020
The logs for [pr-build] [11] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-1306/11.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-1306 --build=11

@RafalSkolasinski
Copy link
Contributor Author

What do you think about adding a Dockerfile that would pip install requirements-dev.txt and each of the three s2i builds would only add necessary model files?

I tried it in 6a5a714 and seems to work quite nice!

@seldondev
Copy link
Collaborator

Thu Jan 2 15:36:30 UTC 2020
The logs for [lint] [12] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-1306/12.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-1306 --build=12

@seldondev
Copy link
Collaborator

Thu Jan 2 15:58:47 UTC 2020
The logs for [pr-build] [13] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-1306/13.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-1306 --build=13

@seldondev
Copy link
Collaborator

Thu Jan 2 15:58:52 UTC 2020
The logs for [lint] [14] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-1306/14.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-1306 --build=14

@seldondev
Copy link
Collaborator

Fri Jan 3 14:24:08 UTC 2020
The logs for [pr-build] [15] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-1306/15.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-1306 --build=15

@seldondev
Copy link
Collaborator

Fri Jan 3 14:24:23 UTC 2020
The logs for [lint] [16] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-1306/16.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-1306 --build=16

@seldondev
Copy link
Collaborator

Fri Jan 3 14:27:55 UTC 2020
The logs for [lint] [18] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-1306/18.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-1306 --build=18

@seldondev
Copy link
Collaborator

Fri Jan 3 14:28:01 UTC 2020
The logs for [pr-build] [17] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-1306/17.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-1306 --build=17

@RafalSkolasinski RafalSkolasinski changed the title WIP: Outlier example Outlier example Jan 6, 2020
Copy link
Contributor

@axsaucedo axsaucedo left a comment

Choose a reason for hiding this comment

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

Another thing that would still be required is to add the reference in the docs so it actually appears in the documentation. For this you will have to add an nblink file with a reference to the notebook, and a link to the nblink file in the examples page.

@RafalSkolasinski
Copy link
Contributor Author

For this you will have to add an nblink file with a reference to the notebook, and a link to the nblink file in the examples page.

Done!

@seldondev
Copy link
Collaborator

Tue Jan 7 16:00:27 UTC 2020
The logs for [pr-build] [19] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-1306/19.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-1306 --build=19

@seldondev
Copy link
Collaborator

Tue Jan 7 16:00:38 UTC 2020
The logs for [lint] [20] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-1306/20.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-1306 --build=20

@axsaucedo
Copy link
Contributor

/lgtm
/approve

@seldondev
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: axsaucedo

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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@seldondev seldondev merged commit f89347d into SeldonIO:master Jan 7, 2020
@axsaucedo axsaucedo removed their assignment May 13, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants