Adquira o hábito de escrever juntos! Este é o 15º dia da minha participação no "Nuggets Daily New Plan·April Update Challenge", clique para ver os detalhes do evento .
O BentoML fornece lojas locais e centralizadas fáceis de usar para gerenciar modelos e bentos.
Este artigo se concentra no modelo baseado em sistema de arquivos local e no uso de lojas bento. Para saber mais sobre a solução de loja centralizada , consulte BentoML Yatai .
modelo de gestão
Criar um modelo
Lembre-se do guia de introdução anterior que os modelos são salvos usando save()
funções . No exemplo, usamos a save()
função para a estrutura Scikit Learn, conforme mostrado abaixo.
import bentoml.sklearn
bentoml.sklearn.save("iris_classifier_model", clf)
复制代码
Os modelos também podem ser importados de registros específicos da estrutura com suporte. No exemplo abaixo, o modelo é importado do registro do modelo MLFlow.
import bentoml.mlflow
bentoml.mlflow.import_from_uri("mlflow_model", uri=mlflow_registry_uri)
复制代码
Por padrão, os modelos salvos e importados são adicionados ao repositório de modelo baseado em sistema de arquivos local localizado no $HOME/bentoml/models
diretório .
Listar modelos
Para listar todos os modelos criados, bentoml.models
use uma list()
função Python no módulo ou um models list
comando CLI.
Um exemplo de uma função Python é o seguinte:
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
# },
# ]
复制代码
Um exemplo da linha de comando é o seguinte:
> 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 obter informações do modelo, use bentoml.models
as get()
funções models get
comandos block ou CLI.
Um exemplo de uma função Python é o seguinte:
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"
# )
复制代码
Um exemplo da linha de comando é o seguinte:
> 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
复制代码
excluir modelo
Para excluir um modelo no armazenamento de modelo, bentoml.models
use a delete()
função ou models delete
o comando CLI no módulo.
Um exemplo de uma função Python é o seguinte:
import bentoml.models
bentoml.models.delete("iris_classifier_model:vmiqwpcfifi6zhqqvtpeqaare", skip_confirm=True)
复制代码
Um exemplo da linha de comando é o seguinte:
> bentoml models delete iris_classifier_model:vmiqwpcfifi6zhqqvtpeqaare
复制代码
Gerenciar Bentos
Criar Bentos
Bentos são criados através do processo de construção do bento. Lembre-se do guia de introdução que o bentos é construído usando build
comandos da CLI. Veja Edifício Bentos para mais detalhes .
Por padrão, bentos embutidos são adicionados ao armazenamento de bento baseado em sistema de arquivos local localizado $HOME/bentoml/bentos
em .
> bentoml build
复制代码
Listar Bentos
Para visualizar Bentos na loja Bento, use o list
comando CLI.
> bentoml list
BENTO VERSION LABELS CREATED
iris_classifier_service v5mgcacfgzi6zdz7vtpeqaare iris,prod 2021/09/19 10:15:50
复制代码
Remover Bentos
Para remover Bentos na loja Bento, use o delete
comando CLI.
> bentoml delete iris_classifier_service:v5mgcacfgzi6zdz7vtpeqaare
复制代码