Conceptos básicos de BentoML (4): Modelo y gestión de Bento

¡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/modelsdirectorio .

Lista de modelos

Para enumerar todos los modelos creados, bentoml.modelsuse una list()función de Python en el módulo o un models listcomando 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.modelslas get()funciones o los models getcomandos 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.modelsuse la delete()función o models deleteel 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 buildcomandos 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/bentosen .

> bentoml build
复制代码

Lista Bentos

Para ver Bentos en la tienda Bento, use el listcomando 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 deletecomando CLI.

> bentoml delete iris_classifier_service:v5mgcacfgzi6zdz7vtpeqaare
复制代码

Supongo que te gusta

Origin juejin.im/post/7086491756761448455
Recomendado
Clasificación