Skip to main content

ML server

Project description

MLServer

An open source inference server to serve your machine learning models.

:warning: This is a Work in Progress.

Overview

MLServer aims to provide an easy way to start serving your machine learning models through a REST and gRPC interface, fully compliant with KFServing's V2 Dataplane spec.

You can read more about the goals of this project on the inital design document.

Usage

You can install the mlserver package running:

pip install mlserver

Note that to use any of the optional inference runtimes, you'll need to install the relevant package. For example, to serve a scikit-learn model, you would need to install the mlserver-sklearn package:

pip install mlserver-sklearn

For further information on how to use MLServer, you can check any of the available examples.

Inference Runtimes

Inference runtimes allow you to define how your model should be used within MLServer. Out of the box, MLServer comes with a set of pre-packaged runtimes which let you interact with a subset of common ML frameworks. This allows you to start serving models saved in these frameworks straight away.

To avoid bringing in dependencies for frameworks that you don't need to use, these runtimes are implemented as independent optional packages. This mechanism also allows you to rollout your [own custom runtimes]( very easily.

To pick which runtime you want to use for your model, you just need to make sure that the right package is installed, and then point to the correct runtime class in your model-settings.json file.

The included runtimes are:

Framework Package Name Implementation Class Example Source Code
Scikit-Learn mlserver-sklearn mlserver_sklearn.SKLearnModel Scikit-Learn example ./runtimes/sklearn
XGBoost mlserver-xgboost mlserver_xgboost.XGBoostModel XGBoost example ./runtimes/xgboost
Spark MLlib mlserver-mllib mlserver_mllib.MLlibModel Coming Soon ./runtimes/mllib
LightGBM mlserver-lightgbm mlserver_lightgbm.LightGBMModel Coming Soon ./runtimes/lightgbm
Tempo tempo tempo.mlserver.InferenceRuntime Tempo example github.com/SeldonIO/tempo
MLflow mlserver-mlflow mlserver_mlflow.MLflowRuntime Coming Soon ./runtimes/mlflow

Examples

On the list below, you can find a few examples on how you can leverage mlserver to start serving your machine learning models.

Developer Guide

Versioning

Both the main mlserver package and the inference runtimes packages try to follow the same versioning schema. To bump the version across all of them, you can use the ./hack/update-version.sh script. For example:

./hack/update-version.sh 0.2.0.dev1

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mlserver-0.3.2.tar.gz (33.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mlserver-0.3.2-py3-none-any.whl (46.3 kB view details)

Uploaded Python 3

File details

Details for the file mlserver-0.3.2.tar.gz.

File metadata

  • Download URL: mlserver-0.3.2.tar.gz
  • Upload date:
  • Size: 33.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.7.8

File hashes

Hashes for mlserver-0.3.2.tar.gz
Algorithm Hash digest
SHA256 a31ddd041cf0b15cc2b5aaabd40fe6465c3376c7e8895e7cc87a5d2223989d12
MD5 a93f448dacf90adab16b53b22c32f605
BLAKE2b-256 fcba2d57eb94303f6325e6d385345802d5ade35b655c63351232bc1d19053efd

See more details on using hashes here.

File details

Details for the file mlserver-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: mlserver-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 46.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.7.8

File hashes

Hashes for mlserver-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 95ace6369ff414f3da6c079517aeb709bba2ae5e24b1332d1aa26d1fd3f4c385
MD5 eb79cd5f8a3d2497939e216beb8ce228
BLAKE2b-256 0dd3e85d0a0195100e045054e76c9af2199794f38d880dec55744434c6c971db

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page