XGBoost#

About this page

This is an API reference for XGBoost in BentoML. Please refer to the XGBoost guide for more information about how to use XGBoost in BentoML.

bentoml.xgboost.save_model(name: str, model: xgb.core.Booster, *, signatures: dict[str, ModelSignatureDict] | None = None, labels: dict[str, str] | None = None, custom_objects: dict[str, t.Any] | None = None, metadata: dict[str, t.Any] | None = None) bentoml.Model[source]#

Save an XGBoost model instance to the BentoML model store.

Parameters
  • name (str) – The name to give to the model in the BentoML store. This must be a valid Tag name.

  • model (Booster) – The XGBoost model to be saved.

  • signatures (dict[str, ModelSignatureDict], optional) – Signatures of predict methods to be used. If not provided, the signatures default to {"predict": {"batchable": False}}. See ModelSignature for more details.

  • labels (dict[str, str], optional) – A default set of management labels to be associated with the model. An example is {"training-set": "data-1"}.

  • custom_objects (dict[str, Any], optional) –

    Custom objects to be saved with the model. An example is {"my-normalizer": normalizer}.

    Custom objects are currently serialized with cloudpickle, but this implementation is subject to change.

  • metadata (dict[str, Any], optional) –

    Metadata to be associated with the model. An example is {"max_depth": 2}.

    Metadata is intended for display in model management UI and therefore must be a default Python type, such as str or int.

Returns

A tag with a format name:version where name is the user-defined model’s name, and a generated version by BentoML.

Return type

Tag

Example:

import xgboost as xgb
import bentoml

# read in data
dtrain = xgb.DMatrix('demo/data/agaricus.txt.train')
dtest = xgb.DMatrix('demo/data/agaricus.txt.test')
# specify parameters via map
param = dict(max_depth=2, eta=1, objective='binary:logistic')
num_round = 2
bst = xgb.train(param, dtrain, num_round)
...

# `save` the booster to BentoML modelstore:
bento_model = bentoml.xgboost.save_model("my_xgboost_model", bst, booster_params=param)
bentoml.xgboost.load_model(bento_model: str | Tag | bentoml.Model) xgb.core.Booster[source]#

Load the XGBoost model with the given tag from the local BentoML model store.

Parameters

bento_model (str | Tag | Model) – Either the tag of the model to get from the store, or a BentoML ~bentoml.Model instance to load the model from.

Returns

The XGBoost model loaded from the model store or BentoML Model.

Return type

Booster

Example:

import bentoml
# target model must be from the BentoML model store
booster = bentoml.xgboost.load_model("my_xgboost_model")
bentoml.xgboost.get(tag_like: str | Tag) bentoml.Model[source]#

Get the BentoML model with the given tag.

Parameters

tag_like (str | Tag) – The tag of the model to retrieve from the model store.

Returns

A BentoML Model with the matching tag.

Return type

Model

Example:

import bentoml
# target model must be from the BentoML model store
model = bentoml.xgboost.get("my_xgboost_model")