XGBoost

关于此页

这是 BentoML 中 XGBoost 的 API 参考。有关如何在 BentoML 中使用 XGBoost 的更多信息,请参阅XGBoost 指南

注意

您可以在我们的 examples/xgboost 目录中找到更多关于 XGBoost 的示例。

bentoml.xgboost.save_model(name: Tag | str, model: xgb.Booster | xgb.XGBModel, *, signatures: ModelSignaturesType | None = None, labels: dict[str, str] | None = None, custom_objects: dict[str, t.Any] | None = None, external_modules: t.List[ModuleType] | None = None, metadata: dict[str, t.Any] | None = None) bentoml.Model

将 XGBoost 模型实例保存到 BentoML 模型库。

参数:
  • name – 模型在 BentoML 模型库中的名称。这必须是一个有效的 Tag 名称。

  • model – 要保存的 XGBoost 模型。

  • signatures – 要使用的预测方法的签名。如果未提供,签名默认为 {"predict": {"batchable": False}}。有关更多详细信息,请参阅 ModelSignature

  • labels – 与模型关联的默认管理标签集合。例如 {"training-set": "data-1"}

  • custom_objects

    与模型一起保存的自定义对象。例如 {"my-normalizer": normalizer}

    自定义对象目前使用 cloudpickle 序列化,但此实现可能会更改。

  • external_modules – 用户定义的额外 Python 模块,将与模型或自定义对象一起保存,例如分词器模块、预处理器模块、模型配置模块

  • metadata

    与模型关联的元数据。例如 {"max_depth": 2}

    元数据旨在用于模型管理 UI 中的显示,因此必须是默认的 Python 类型,例如 strint

返回:

一个 BentoML 标签,包含用户定义的名称和生成的版本。

示例

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.Booster | xgb.XGBModel

从本地 BentoML 模型库加载具有给定标签的 XGBoost 模型。

参数:

bento_model (str | Tag | Model) – 要从模型库获取的模型标签,或者一个 BentoML ~bentoml.Model 实例,用于从中加载模型。

返回:

从模型库或 BentoML Model 加载的 XGBoost 模型。

示例

import bentoml
# target model must be from the BentoML model store
booster = bentoml.xgboost.load_model("my_xgboost_model")
bentoml.xgboost.get(tag: t.Union[Tag, str], *, _model_store: ModelStore = <simple_di.providers.SingletonFactory object>, model_aliases: t.Dict[str, str] = <simple_di.providers.Static object>) Model

通过标签获取模型。如果标签是字符串,它将在 model_aliases 字典中查找。

bentoml.xgboost.get_service(model_name: str, **config: Unpack[ServiceConfig]) Service[t.Any]

从 XGBoost 模型获取 BentoML 服务实例。

参数:
  • model_name (str) – 要为其获取服务的模型名称。

  • **config (Unpack[ServiceConfig]) – 服务的配置选项。

返回:

一个封装了 XGBoost 模型的 BentoML 服务实例。

示例

import bentoml

service = bentoml.xgboost.get_service("my_xgboost_model")