ML server
Project description
MLServer
An open source inference server for your machine learning models.
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. You can think of them as the backend glue between MLServer and your machine learning framework of choice. You can read more about inference runtimes in their documentation page.
Out of the box, MLServer comes with a set of pre-packaged runtimes which let you interact with a subset of common frameworks. This allows you to start serving models saved in these frameworks straight away.
Out of the box, MLServer provides support for:
| Framework | Supported | Documentation |
|---|---|---|
| Scikit-Learn | 👍 | MLServer SKLearn |
| XGBoost | 👍 | MLServer XGBoost |
| Spark MLlib | 👍 | MLServer MLlib |
| LightGBM | 👍 | MLServer LightGBM |
| Tempo | 👍 | github.com/SeldonIO/tempo |
| MLflow | 👍 | MLServer MLflow |
Examples
To see MLServer in action, check out our full list of examples. You can find below a few selected examples showcasing how you can leverage MLServer to start serving your machine learning models.
- Serving a
scikit-learnmodel - Serving a
xgboostmodel - Serving a
lightgbmmodel - Serving a
tempopipeline - Serving a custom model
- Multi-Model Serving with multiple frameworks
- Loading / unloading models from a model repository
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mlserver-0.5.3.tar.gz.
File metadata
- Download URL: mlserver-0.5.3.tar.gz
- Upload date:
- Size: 40.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8f9c849d5d58352ba25fd4067a8b9cf804095d995209683d7b401fd2362edb94
|
|
| MD5 |
437c75081176dadefd227b253eea2cb9
|
|
| BLAKE2b-256 |
8b37db76020a3737509d4acb9a37d17604998e8e74826fb0d5a4366b6252575d
|
File details
Details for the file mlserver-0.5.3-py3-none-any.whl.
File metadata
- Download URL: mlserver-0.5.3-py3-none-any.whl
- Upload date:
- Size: 53.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9658303cd92a83c00a09dc9103fb3f16f2e1abae7ef76452ff34986ee04b00f2
|
|
| MD5 |
90ef83f08f43f2268212e309cd3474f5
|
|
| BLAKE2b-256 |
5aa0e18a52630346dcf49e7ed623b7db243fe14e00fdfc50ed1de6f21baa2995
|