BentoML 提供易于使用的本地和集中式商店来管理模型和bentos。
本文重点介绍基于本地文件系统的模型和 bento 商店的使用。 要了解有关集中式商店解决方案的更多信息,请参阅 BentoML Yatai。
回想一下之前的入门指南,模型是使用特定框架的 save()
函数保存的。 在示例中,我们将 sklearn 模块中的 save()
函数用于 Scikit Learn 框架,具体如下所示。
import bentoml.sklearn
bentoml.sklearn.save("iris_classifier_model", clf)
模型也可以从支持的框架专有的注册表中导入。在下面的示例中,模型是从 MLFlow 模型注册表中导入的。
import bentoml.mlflow
bentoml.mlflow.import_from_uri("mlflow_model", uri=mlflow_registry_uri)
默认情况下,保存和导入的模型会添加到位于 $HOME/bentoml/models
目录中的基于本地文件系统的模型仓库中。
要列出所有创建的模型,请使用 bentoml.models
模块中的 list()
Python 函数或models list
CLI 命令。
Python 函数示例如下:
import bentoml.models
bentoml.models.list() # get a list of all models
# [
# {
# tag: Tag("iris_classifier_model", "vkorlosfifi6zhqqvtpeqaare"),
# framework: "SKLearn",
# created: 2021/11/14 03:55:11
# },
# {
# tag: Tag("iris_classifier_model", "vlqdohsfifi6zhqqvtpeqaare"),
# framework: "SKLearn",
# created: 2021/11/14 03:55:15
# },
# {
# tag: Tag("iris_classifier_model", "vmiqwpcfifi6zhqqvtpeqaare"),
# framework: "SKLearn",
# created: 2021/11/14 03:55:25
# },
# {
# tag: Tag("fraud_detection_model", "5v4pdccfifi6zhqqvtpeqaare"),
# framework: "PyTorch",
# created: 2021/11/14 03:57:01
# },
# {
# tag: Tag("fraud_detection_model", "5xorursfifi6zhqqvtpeqaare"),
# framework: "PyTorch",
# created: 2021/11/14 03:57:45
# },
# ]
bentoml.models.list("iris_classifier_model") # get a list of all versions of a specific model
bentoml.models.list(Tag("iris_classifier_model", None))
# [
# {
# tag: Tag("iris_classifier_model", "vkorlosfifi6zhqqvtpeqaare"),
# framework: "SKLearn",
# created: 2021/11/14 03:55:11
# },
# {
# tag: Tag("iris_classifier_model", "vlqdohsfifi6zhqqvtpeqaare"),
# framework: "SKLearn",
# created: 2021/11/14 03:55:15
# },
# {
# tag: Tag("iris_classifier_model", "vmiqwpcfifi6zhqqvtpeqaare"),
# framework: "SKLearn",
# created: 2021/11/14 03:55:25
# },
# ]
命令行示例如下:
> bentoml models list # list all models
MODEL FRAMEWORK VERSION CREATED
iris_classifier_model SKLearn vkorlosfifi6zhqqvtpeqaare 2021/11/14 03:55:11
iris_classifier_model SKLearn vlqdohsfifi6zhqqvtpeqaare 2021/11/14 03:55:15
iris_classifier_model SKLearn vmiqwpcfifi6zhqqvtpeqaare 2021/11/14 03:55:25
fraud_detection_model PyTorch 5v4pdccfifi6zhqqvtpeqaare 2021/11/14 03:57:01
fraud_detection_model PyTorch 5xorursfifi6zhqqvtpeqaare 2021/11/14 03:57:45
> bentoml models list iris_classifier # list all version of my-model
MODEL FRAMEWORK VERSION CREATED
iris_classifier_model PyTorch vkorlosfifi6zhqqvtpeqaare 2021/11/14 03:55:11
iris_classifier_model PyTorch vlqdohsfifi6zhqqvtpeqaare 2021/11/14 03:55:15
iris_classifier_model SKLearn vmiqwpcfifi6zhqqvtpeqaare 2021/11/14 03:55:25
要获取模型信息,请使用bentoml.models
模块下的 get()
函数或models get
CLI 命令。
Python 函数示例如下:
import bentoml.models
bentoml.models.get("iris_classifier_model:vmiqwpcfifi6zhqqvtpeqaare")
bentoml.models.get(Tag("iris_classifier_model", "vmiqwpcfifi6zhqqvtpeqaare"))
# Model(
# tag: Tag("iris_classifier_model", "vmiqwpcfifi6zhqqvtpeqaare"),
# framework: "SKLearn",
# created: 2021/11/14 03:55:25
# description: "The iris classifier model"
# path: "/user/home/bentoml/models/iris_classifier_model/vmiqwpcfifi6zhqqvtpeqaare"
# )
命令行示例如下:
> bentoml models get iris_classifier_model:vmiqwpcfifi6zhqqvtpeqaare
TAG iris_classifier_model:vmiqwpcfifi6zhqqvtpeqaare
FRAMEWORK SKLearn
CREATED 2021/9/21 10:07:45
DESCRIPTION The iris classifier model
PATH /user/home/bentoml/models/iris_classifier_model/vmiqwpcfifi6zhqqvtpeqaare
要删除模型存储中的模型,请使用 bentoml.models
模块下的delete()
函数或 models delete
CLI 命令。
Python 函数示例如下:
import bentoml.models
bentoml.models.delete("iris_classifier_model:vmiqwpcfifi6zhqqvtpeqaare", skip_confirm=True)
命令行示例如下:
> bentoml models delete iris_classifier_model:vmiqwpcfifi6zhqqvtpeqaare
Bentos是通过 bento 构建过程创建的。 回想一下入门指南,bentos 是使用 build
CLI 命令构建的。 有关更多详细信息,请参阅构建Bentos。
默认情况下,内置的bentos被添加到位于 $HOME/bentoml/bentos
下的基于本地文件系统的bento商店中。
> bentoml build
要查看Bento商店中的Bentos,请使用 list
CLI 命令。
> bentoml list
BENTO VERSION LABELS CREATED
iris_classifier_service v5mgcacfgzi6zdz7vtpeqaare iris,prod 2021/09/19 10:15:50
要删除Bento商店中的Bentos,请使用 delete
CLI 命令。
> bentoml delete iris_classifier_service:v5mgcacfgzi6zdz7vtpeqaare