¡Acostúmbrate a escribir juntos! Este es el día 15 de mi participación en el "Desafío de actualización de abril del nuevo plan diario de Nuggets", haga clic para ver los detalles del evento .
BentoML proporciona tiendas locales y centralizadas fáciles de usar para administrar modelos y bentos.
Este artículo se centra en el modelo basado en el sistema de archivos local y el uso de tiendas bento. Para obtener más información sobre la solución de tienda centralizada , consulte BentoML Yatai .
modelo de gestión
crear un modelo
Recuerde de la guía de introducción anterior que los modelos se guardan mediante save()
funciones . En el ejemplo, usamos la save()
función para el marco Scikit Learn como se muestra a continuación.
import bentoml.sklearn
bentoml.sklearn.save("iris_classifier_model", clf)
复制代码
Los modelos también se pueden importar desde registros específicos del marco compatibles. En el siguiente ejemplo, el modelo se importa desde el registro de modelos de MLFlow.
import bentoml.mlflow
bentoml.mlflow.import_from_uri("mlflow_model", uri=mlflow_registry_uri)
复制代码
De forma predeterminada, los modelos guardados e importados se agregan al repositorio de modelos basado en el sistema de archivos local ubicado en el $HOME/bentoml/models
directorio .
Lista de modelos
Para enumerar todos los modelos creados, bentoml.models
use una list()
función de Python en el módulo o un models list
comando CLI.
Un ejemplo de una función de Python es el siguiente:
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
# },
# ]
复制代码
Un ejemplo de la línea de comando es el siguiente:
> 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
复制代码
Para obtener información del modelo, use bentoml.models
las get()
funciones o los models get
comandos CLI.
Un ejemplo de una función de Python es el siguiente:
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"
# )
复制代码
Un ejemplo de la línea de comando es el siguiente:
> 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
复制代码
eliminar modelo
Para eliminar un modelo en la tienda de modelos, bentoml.models
use la delete()
función o models delete
el comando CLI debajo del módulo.
Un ejemplo de una función de Python es el siguiente:
import bentoml.models
bentoml.models.delete("iris_classifier_model:vmiqwpcfifi6zhqqvtpeqaare", skip_confirm=True)
复制代码
Un ejemplo de la línea de comando es el siguiente:
> bentoml models delete iris_classifier_model:vmiqwpcfifi6zhqqvtpeqaare
复制代码
Administrar Bentos
Crear bentos
Los bentos se crean a través del proceso de construcción de bento. Recuerde de la guía de inicio que bentos se construye usando build
comandos CLI. Consulte Construcción de Bentos para obtener más detalles .
De forma predeterminada, los bentos incorporados se agregan a la tienda bento basada en el sistema de archivos local ubicada $HOME/bentoml/bentos
en .
> bentoml build
复制代码
Lista Bentos
Para ver Bentos en la tienda Bento, use el list
comando CLI.
> bentoml list
BENTO VERSION LABELS CREATED
iris_classifier_service v5mgcacfgzi6zdz7vtpeqaare iris,prod 2021/09/19 10:15:50
复制代码
Quitar Bentos
Para eliminar Bentos en la tienda Bento, use el delete
comando CLI.
> bentoml delete iris_classifier_service:v5mgcacfgzi6zdz7vtpeqaare
复制代码