Scikit-Learn runtime for MLServer

This package provides a MLServer runtime compatible with Scikit-Learn.


You can install the runtime, alongside mlserver, as:

pip install mlserver mlserver-sklearn

For further information on how to use MLServer with Scikit-Learn, you can check out this worked out example.

Content Types

If no content type is present on the request or metadata, the Scikit-Learn runtime will try to decode the payload as a NumPy Array. To avoid this, either send a different content type explicitly, or define the correct one as part of your model’s metadata.

Model Outputs

The Scikit-Learn inference runtime exposes a number of outputs depending on the model type. These outputs match to the predict, predict_proba and transform methods of the Scikit-Learn model.


Returned By Default



Available on most models, but not in Scikit-Learn pipelines.


Only available on non-regressor models.


Only available on Scikit-Learn pipelines.

By default, the runtime will only return the output of predict. However, you are able to control which outputs you want back through the outputs field of your InferenceRequest payload.

For example, to only return the model’s predict_proba output, you could define a payload such as:

  "inputs": [
      "name": "my-input",
      "datatype": "INT32",
      "shape": [2, 2],
      "data": [1, 2, 3, 4]
  "outputs": [
    { "name": "predict_proba" }