SKLearn

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

Usage

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.

OutputReturned By DefaultAvailability

predict

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

predict_proba

Only available on non-regressor models.

transform

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 {class}InferenceRequest <mlserver.types.InferenceRequest> payload.

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

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

Last updated