Quickstart

Ebonite can be used to reproduce arbitrary machine learning model in different environments.

Note

Don’t forget to install requirements for this example: pip install pandas scikit-learn flask flasgger

For instance, you can train sklearn model (code):

1
2
3
reg = LogisticRegression()
data = pd.DataFrame([[1, 0], [0, 1]], columns=['a', 'b'])
reg.fit(data, [1, 0])

To use ebonite you need to create Ebonite client (code):

1
ebnt = ebonite.Ebonite.local(clear=True)

Now you need to create task to push your model into (code):

1
ebnt.create_model(reg, data, model_name='mymodel',

Great, now you can reproduce this model in different environment using this code (code):

1
model = ebnt.get_model(project='my_project', task='regression_is_my_profession', model_name='mymodel')

And start a server that processes inference request like this (code):

1
2
from ebonite.runtime import run_model_server
run_model_server(model)

Or create and start a docker container like this (code):

1
2
3
uild docker image from model and run it
.build_and_run_instance(model, "sklearn_model_service",
                        runner_kwargs={'detach': False},

Full code can be found in examples/sklearn_model.

Other examples

More examples available here: