ray/doc/source/serve/tutorials/sklearn.md

54 lines
1.7 KiB
Markdown

(serve-sklearn-tutorial)=
# Scikit-Learn Tutorial
In this guide, we will train and deploy a simple Scikit-Learn classifier.
In particular, we show:
- How to load the model from file system in your Ray Serve definition
- How to parse the JSON request and evaluated in sklearn model
Please see the [Key Concepts](key-concepts) to learn more general information about Ray Serve.
Ray Serve is framework agnostic. You can use any version of sklearn.
```bash
pip install scikit-learn
```
Let's import Ray Serve and some other helpers.
```{literalinclude} ../../../../python/ray/serve/examples/doc/tutorial_sklearn.py
:end-before: __doc_import_end__
:start-after: __doc_import_begin__
```
We will train a logistic regression with the iris dataset.
```{literalinclude} ../../../../python/ray/serve/examples/doc/tutorial_sklearn.py
:end-before: __doc_train_model_end__
:start-after: __doc_train_model_begin__
```
Services are just defined as normal classes with `__init__` and `__call__` methods.
The `__call__` method will be invoked per request.
```{literalinclude} ../../../../python/ray/serve/examples/doc/tutorial_sklearn.py
:end-before: __doc_define_servable_end__
:start-after: __doc_define_servable_begin__
```
Now that we've defined our services, let's deploy the model to Ray Serve. We will
define a Serve deployment that will be exposed over an HTTP route.
```{literalinclude} ../../../../python/ray/serve/examples/doc/tutorial_sklearn.py
:end-before: __doc_deploy_end__
:start-after: __doc_deploy_begin__
```
Let's query it!
```{literalinclude} ../../../../python/ray/serve/examples/doc/tutorial_sklearn.py
:end-before: __doc_query_end__
:start-after: __doc_query_begin__
```