Scikit-Learn

关于此页面

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

注意

您可以在我们的 BentoML/examples 目录中找到更多 Scikit-Learn 示例。

bentoml.sklearn.save_model(name: Tag | str, model: SklearnModel, *, signatures: ModelSignaturesType | None = None, labels: t.Dict[str, str] | None = None, custom_objects: t.Dict[str, t.Any] | None = None, external_modules: t.List[ModuleType] | None = None, metadata: t.Dict[str, t.Any] | None = None) bentoml.Model

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

参数:
  • name – 给定模型实例的名称。这应该通过 Python 标识符检查。

  • model – 要保存的模型实例。

  • signatures – 用于在目标模型上运行推理的方法。在使用 bentoml.Service 提供模型服务时,signatures 用于创建 Runner 实例。

  • labels – 用户定义的用于管理模型的标签,例如 team=nlp, stage=dev

  • custom_objects – 用户定义的与模型一起保存的附加 Python 对象,例如 tokenizer 实例、预处理函数、模型配置文件 json

  • external_modules – 用户定义的与模型或自定义对象一起保存的附加 Python 模块,例如 tokenizer 模块、预处理模块、模型配置模块

  • metadata – 给定模型的自定义元数据。

返回值:

一个 tag,格式为 name:version,其中 name 是用户定义的模型名称,而 version 是生成的版本号。

返回类型:

Tag

示例

import bentoml

from sklearn.datasets import load_iris
from sklearn.neighbors import KNeighborsClassifier

model = KNeighborsClassifier()
iris = load_iris()
X = iris.data[:, :4]
Y = iris.target
model.fit(X, Y)

bento_model = bentoml.sklearn.save_model('kneighbors', model)
bentoml.sklearn.load_model(bento_model: str | Tag | Model) SklearnModel

从本地 BentoML 模型存储库加载具有给定标签的 scikit-learn 模型。

参数:

bento_model – 可以是从存储库中获取的模型标签,也可以是从中加载模型的 BentoML ~bentoml.Model 实例。

返回值:

从模型存储库或 BentoML Model 加载的 scikit-learn 模型。

示例

import bentoml
sklearn = bentoml.sklearn.load_model('my_model:latest')
bentoml.sklearn.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 字典中查找。