可序列化模型

关于此页

这是 bentoml.picklable_model 模块的 API 参考,可用于 BentoML 中的自定义 Python ML 模型。要了解更多信息,请访问 可序列化模型指南

注意

您可以在我们的 BentoML/examples 目录中找到更多关于 可序列化模型 的示例。

bentoml.picklable_model.save_model(name: Tag | str, model: ModelType, *, signatures: dict[str, ModelSignature] | 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[source]

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

参数:
  • name – 给定模型实例的名称。这应该符合 Python 标识符规则。

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

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

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

  • custom_objects – 用户定义的与模型一起保存的其他 Python 对象,例如 分词器实例、预处理器函数、模型配置 JSON

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

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

返回:

格式为 name:versiontag,其中 name 是用户定义的模型名称,version 是自动生成的版本。

返回类型:

Tag

示例

import bentoml

bento_model = bentoml.picklable.save_model('picklable_pyobj', model)
bentoml.picklable_model.load_model(bento_model: str | Tag | Model) ModelType[source]

从本地 BentoML 模型存储库加载带有指定标签的可序列化模型。

参数:

bento_model – 可以是模型存储库中模型的标签,也可以是用于从中加载模型的 BentoML Model 实例。

返回:

从模型存储库或 BentoML Model 加载的可序列化模型。

示例

import bentoml

picklable_model = bentoml.picklable_model.load_model('my_model:latest')
bentoml.picklable_model.get(tag_like: str | Tag) Model[source]