Model Classe
Representa o resultado do treinamento do machine learning.
Um modelo é o resultado de um treinamento do Azure Machine Learning Run ou algum outro processo de treinamento de modelo fora do Azure. Independentemente de como o modelo é produzido, ele pode ser registrado em um workspace, onde é representado por um nome e uma versão. Com a classe Model, você pode empacotar modelos para uso com o Docker e implantá-los como um ponto de extremidade em tempo real que pode ser usado para solicitações de inferência.
Para obter um tutorial completo mostrando como os modelos são criados, gerenciados e consumidos, consulte Treinar modelo de classificação de imagem com dados do MNIST e scikit-learn usando o Azure Machine Learning.
Construtor de modelo.
O construtor Model é usado para recuperar uma representação na nuvem de um objeto Model associado ao workspace fornecido. Deve fornecer o nome ou a ID.
- Herança
-
builtins.objectModel
Construtor
Model(workspace, name=None, id=None, tags=None, properties=None, version=None, run_id=None, model_framework=None, expand=True, **kwargs)
Parâmetros
- name
- str
O nome do modelo a ser recuperado. O modelo mais recente com o nome especificado será retornado se existir.
- id
- str
A ID do modelo a ser recuperado. O modelo com a ID especificada será retornado se existir.
- tags
- list
Uma lista opcional de marcas usadas para filtrar os resultados retornados. Os resultados são filtrados com base na lista fornecida, pesquisando por 'chave' ou '[chave, valor]'. Ex.: ['chave', ['chave2', 'valor de chave2']]
- properties
- list
Uma lista opcional de propriedades usadas para filtrar os resultados retornados. Os resultados são filtrados com base na lista fornecida, pesquisando por 'chave' ou '[chave, valor]'. Ex.: ['chave', ['chave2', 'valor de chave2']]
- version
- int
A versão do modelo a ser retornada. Quando fornecida junto com o parâmetro name
, a versão específica do modelo nomeado especificado será retornada se existir. Se version
for omitida, a versão mais recente do modelo será retornada.
- model_framework
- str
Nome da estrutura opcional usada para filtrar os resultados retornados. Se especificados, os resultados são retornados para os modelos que correspondem à estrutura especificada. Confira Framework para obter os valores permitidos.
- name
- str
O nome do modelo a ser recuperado. O modelo mais recente com o nome especificado será retornado se existir.
- id
- str
A ID do modelo a ser recuperado. O modelo com a ID especificada será retornado se existir.
- tags
- list
Uma lista opcional de marcas usadas para filtrar os resultados retornados. Os resultados são filtrados com base na lista fornecida, pesquisando por 'chave' ou '[chave, valor]'. Ex.: ['chave', ['chave2', 'valor de chave2']]
- properties
- list
Uma lista opcional de propriedades usadas para filtrar os resultados retornados. Os resultados são filtrados com base na lista fornecida, pesquisando por 'chave' ou '[chave, valor]'. Ex.: ['chave', ['chave2', 'valor de chave2']]
- version
- int
A versão do modelo a ser retornada. Quando fornecida junto com o parâmetro name
, a versão específica do modelo nomeado especificado será retornada se existir. Se version
for omitida, a versão mais recente do modelo será retornada.
- model_framework
- str
Nome da estrutura opcional usada para filtrar os resultados retornados. Se especificados, os resultados são retornados para os modelos que correspondem à estrutura especificada. Confira Framework para obter os valores permitidos.
- expand
- bool
Se for true, retornará modelos com todas as subpropriedades preenchidas, por exemplo, run, dataset e experiment.
Comentários
O construtor Model é usado para recuperar uma representação em nuvem de um objeto Model associado ao workspace fornecido. Pelo menos o nome ou a ID precisa ser fornecido para recuperar modelos, mas há também outras opções de filtragem, incluindo marcas, propriedades, versão, ID de execução e estrutura.
from azureml.core.model import Model
model = Model(ws, 'my_model_name')
O exemplo a seguir mostra como buscar uma versão específica de um modelo.
from azureml.core.model import Model
model = Model(ws, 'my_model_name', version=1)
Um modelo registrado é um contêiner lógico para um ou mais arquivos que compõem seu modelo. Além do conteúdo do próprio arquivo de modelo, um modelo registrado também armazena os metadados do modelo, incluindo descrição do modelo, marcas e informações de estrutura, que serão úteis ao gerenciar e implantar o modelo no workspace. Usando marcas, por exemplo, você pode categorizar seus modelos e aplicar filtros ao listar modelos no workspace. Após o registro, você pode baixar ou implantar o modelo registrado e receber todos os arquivos e metadados registrados.
A amostra a seguir mostra como registrar um modelo especificando marcas e uma descrição.
from azureml.core.model import Model
model = Model.register(model_path="sklearn_regression_model.pkl",
model_name="sklearn_regression_model",
tags={'area': "diabetes", 'type': "regression"},
description="Ridge regression model to predict diabetes",
workspace=ws)
O exemplo completo está disponível em https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/deploy-to-local/register-model-deploy-local-advanced.ipynb
A amostra a seguir mostra como registrar um modelo especificando a estrutura, os conjuntos de dados de entrada e saída e a configuração do recurso.
import sklearn
from azureml.core import Model
from azureml.core.resource_configuration import ResourceConfiguration
model = Model.register(workspace=ws,
model_name='my-sklearn-model', # Name of the registered model in your workspace.
model_path='./sklearn_regression_model.pkl', # Local file to upload and register as a model.
model_framework=Model.Framework.SCIKITLEARN, # Framework used to create the model.
model_framework_version=sklearn.__version__, # Version of scikit-learn used to create the model.
sample_input_dataset=input_dataset,
sample_output_dataset=output_dataset,
resource_configuration=ResourceConfiguration(cpu=1, memory_in_gb=0.5),
description='Ridge regression model to predict diabetes progression.',
tags={'area': 'diabetes', 'type': 'regression'})
print('Name:', model.name)
print('Version:', model.version)
A seção Variáveis lista os atributos de uma representação local do objeto de modelo na nuvem. Essas variáveis devem ser consideradas somente leitura. Alterar seus valores não altera o objeto de nuvem correspondente.
Variáveis
- created_by
- dict
O usuário que criou o modelo.
- created_time
- datetime
Quando o modelo foi criado.
- azureml.core.Model.description
Uma descrição do objeto de modelo.
- azureml.core.Model.id
A ID do modelo. Isso usa a forma de <nome do modelo>: <versão do modelo>.
- mime_type
- str
O tipo mime do modelo.
- azureml.core.Model.name
O nome do modelo.
- model_framework
- str
A estrutura do modelo.
- model_framework_version
- str
A versão da estrutura do modelo.
- azureml.core.Model.tags
Um dicionário de marcas para o objeto de modelo.
- azureml.core.Model.properties
Dicionário de propriedades de chave-valor para o modelo. Essas propriedades não podem ser alteradas após o registro. No entanto, novos pares de chave-valor podem ser adicionados.
- unpack
- bool
Se o modelo precisa ou não ser desempacotado (descompactado de formato tar) quando obtido por pull para um contexto local.
- url
- str
O local da URL do modelo.
- azureml.core.Model.version
A versão do modelo.
- azureml.core.Model.workspace
O workspace que contém o modelo.
- azureml.core.Model.experiment_name
O nome do experimento que criou o modelo.
- azureml.core.Model.run_id
A ID da execução que criou o modelo.
- parent_id
- str
A ID do modelo pai do modelo.
- resource_configuration
- ResourceConfiguration
O ResourceConfiguration para este modelo. Usado para criação de perfil.
Métodos
add_dataset_references |
Associar os conjuntos de dados fornecidos a esse modelo. |
add_properties |
Adicionar pares de chave-valor ao dicionário de propriedades deste modelo. |
add_tags |
Adicionar pares de chave-valor ao dicionário de propriedades deste modelo. |
delete |
Excluir este serviço Web do workspace associado. |
deploy |
Implantar um serviço Web de zero ou mais objetos Model. O serviço Web resultante é um ponto de extremidade em tempo real que pode ser usado para solicitações de inferência. A função |
deserialize |
Converter um objeto JSON em um objeto de modelo. A conversão falhará se o workspace especificado não for aquele com o qual o modelo está registrado. |
download |
Baixar o modelo para o diretório de destino do sistema de arquivos local. |
get_model_path |
Retornar o caminho para o modelo. A função pesquisará o modelo nos locais a seguir. Se
Se
|
get_sas_urls |
Retornar um dicionário de pares chave-valor com nomes de arquivo e URLs SAS correspondentes. |
list |
Recuperar uma lista de todos os modelos associados ao workspace fornecido, com filtros opcionais. |
package |
Criar um pacote de modelo na forma de uma imagem do Docker ou contexto de build do Dockerfile. |
print_configuration |
Imprima a configuração do usuário. |
profile |
Cria o perfil do modelo para obtenção de recomendações de requisito de recurso. Essa é uma operação de execução prolongada que pode levar até 25 minutos, dependendo do tamanho do conjunto de dados. |
register |
Registrar um modelo com o workspace fornecido. |
remove_tags |
Remover as chaves especificadas do dicionário de marcas deste modelo. |
serialize |
Converter esse modelo em um dicionário serializado JSON. |
update |
Executar uma atualização in-loco do modelo. Os valores existentes dos parâmetros especificados são substituídos. |
update_tags_properties |
Executa uma atualização das marcas e propriedades do modelo. |
add_dataset_references
Associar os conjuntos de dados fornecidos a esse modelo.
add_dataset_references(datasets)
Parâmetros
- datasets
- list[tuple(<xref:str :> (Dataset ou DatasetSnapshot))]
Uma lista de tuplas que representa um emparelhamento da finalidade do conjunto de dados para o objeto de conjunto de dados.
Exceções
add_properties
Adicionar pares de chave-valor ao dicionário de propriedades deste modelo.
add_properties(properties)
Parâmetros
Exceções
add_tags
Adicionar pares de chave-valor ao dicionário de propriedades deste modelo.
add_tags(tags)
Parâmetros
Exceções
delete
deploy
Implantar um serviço Web de zero ou mais objetos Model.
O serviço Web resultante é um ponto de extremidade em tempo real que pode ser usado para solicitações de inferência. A função deploy
de Model é semelhante à função deploy
da classe Webservice, mas não registra os modelos. Use a função deploy
de Model se tiver objetos de modelo que já estão registrados.
static deploy(workspace, name, models, inference_config=None, deployment_config=None, deployment_target=None, overwrite=False, show_output=False)
Parâmetros
- name
- str
O nome para o serviço implantado. Deve ser exclusivo ao workspace, ter apenas letras minúsculas, números ou traços, começar com uma letra e ter entre 3 e 32 caracteres.
- inference_config
- InferenceConfig
Um objeto InferenceConfig usado para determinar as propriedades de modelo necessárias.
- deployment_config
- WebserviceDeploymentConfiguration
Um WebserviceDeploymentConfiguration usado para configurar o serviço Web. Se um não for fornecido, um objeto de configuração vazio será usado com base no destino desejado.
- deployment_target
- ComputeTarget
Um ComputeTarget no qual implantar o serviço Web. Como as Instâncias de Contêiner do Azure não têm um ComputeTarget associado, deixe esse parâmetro como None para implantar nas Instâncias de Contêiner do Azure.
- overwrite
- bool
Indica se o serviço existente deverá ou não ser substituído se já existir um serviço com o nome especificado.
- show_output
- bool
Indica se o andamento da implantação do serviço deve ser exibido.
Retornos
Um objeto do serviço Web correspondente ao serviço Web implantado.
Tipo de retorno
Exceções
deserialize
Converter um objeto JSON em um objeto de modelo.
A conversão falhará se o workspace especificado não for aquele com o qual o modelo está registrado.
static deserialize(workspace, model_payload)
Parâmetros
Retornos
A representação de modelo do objeto JSON fornecido.
Tipo de retorno
Exceções
download
Baixar o modelo para o diretório de destino do sistema de arquivos local.
download(target_dir='.', exist_ok=False, exists_ok=None)
Parâmetros
- target_dir
- str
O caminho para um diretório no qual baixar o modelo. Usa como padrão "."
- exist_ok
- bool
Indica se os arquivos dir baixados devem ser substituídos se existirem. Usa False como padrão.
Retornos
O caminho para o arquivo ou a pasta do modelo.
Tipo de retorno
Exceções
get_model_path
Retornar o caminho para o modelo.
A função pesquisará o modelo nos locais a seguir.
Se version
for Nenhum:
- Baixar de um local remoto para cache (se o workspace for fornecido)
- Carregar do cache azureml-models/$MODEL_NAME/$LATEST_VERSION/
- ./$MODEL_NAME
Se version
não for Nenhum:
- Carregar do cache azureml-models/$MODEL_NAME/$SPECIFIED_VERSION/
- Baixar de um local remoto para cache (se o workspace for fornecido)
static get_model_path(model_name, version=None, _workspace=None)
Parâmetros
- version
- int
A versão do modelo a ser recuperada. Usa a versão mais recente por padrão.
- _workspace
- Workspace
O workspace do qual recuperar um modelo. Não é possível usar remotamente. Se não for especificado, somente o cache local será pesquisado.
Retornos
O caminho no disco para o modelo.
Tipo de retorno
Exceções
get_sas_urls
Retornar um dicionário de pares chave-valor com nomes de arquivo e URLs SAS correspondentes.
get_sas_urls()
Retornos
Dicionário de pares chave-valor contendo nomes de arquivo e URLs SAS correspondentes
Tipo de retorno
Exceções
list
Recuperar uma lista de todos os modelos associados ao workspace fornecido, com filtros opcionais.
static list(workspace, name=None, tags=None, properties=None, run_id=None, latest=False, dataset_id=None, expand=True, page_count=255, model_framework=None)
Parâmetros
- name
- str
Se fornecido, retornará apenas os modelos com o nome especificado, se houver.
- tags
- list
Filtrará com base na lista fornecida, por 'chave' ou '[chave, valor]'. Ex.: ['chave', ['chave2', 'valor de chave2']]
- properties
- list
Filtrará com base na lista fornecida, por 'chave' ou '[chave, valor]'. Ex.: ['chave', ['chave2', 'valor de chave2']]
- expand
- bool
Se for true, retornará modelos com todas as subpropriedades preenchidas, por exemplo, run, dataset e experiment. Definir isso como false deve acelerar a conclusão do método list() no caso de muitos modelos.
- page_count
- int
O número de itens a serem recuperados em uma página. Atualmente, dá suporte a valores de até 255. O valor padrão é 255.
- model_framework
- str
Se fornecido, retornará apenas os modelos com a estrutura especificada, se houver.
Retornos
Uma lista de modelos, opcionalmente filtrada.
Tipo de retorno
Exceções
package
Criar um pacote de modelo na forma de uma imagem do Docker ou contexto de build do Dockerfile.
static package(workspace, models, inference_config=None, generate_dockerfile=False, image_name=None, image_label=None)
Parâmetros
Uma lista de objetos de modelo a serem incluídos no pacote. Pode ser uma lista vazia.
- inference_config
- InferenceConfig
Um objeto InferenceConfig para configurar a operação dos modelos. Isso deve incluir um objeto de ambiente.
- generate_dockerfile
- bool
Se é necessário criar um Dockerfile que possa ser executado localmente em vez de criar uma imagem.
Retornos
Um objeto ModelPackage.
Tipo de retorno
Exceções
print_configuration
Imprima a configuração do usuário.
static print_configuration(models, inference_config, deployment_config, deployment_target)
Parâmetros
- inference_config
- InferenceConfig
Um objeto InferenceConfig usado para determinar as propriedades de modelo necessárias.
- deployment_config
- WebserviceDeploymentConfiguration
Um WebserviceDeploymentConfiguration usado para configurar o serviço Web.
Exceções
profile
Cria o perfil do modelo para obtenção de recomendações de requisito de recurso.
Essa é uma operação de execução prolongada que pode levar até 25 minutos, dependendo do tamanho do conjunto de dados.
static profile(workspace, profile_name, models, inference_config, input_dataset, cpu=None, memory_in_gb=None, description=None)
Parâmetros
- inference_config
- InferenceConfig
Um objeto InferenceConfig usado para determinar as propriedades de modelo necessárias.
- input_dataset
- Dataset
O conjunto de dados de entrada para criação de perfil. O conjunto de dados de entrada deve ter apenas uma coluna e as entradas de exemplo devem estar no formato de cadeia de caracteres.
- cpu
- float
O número de núcleos de CPU a serem usados na maior instância de teste. Atualmente, dá suporte a valores de até 3.5.
- memory_in_gb
- float
A quantidade de memória (em GB) a ser usada na maior instância de teste. Pode ser um decimal. Atualmente, dá suporte a valores de até 15.0.
Tipo de retorno
Exceções
register
Registrar um modelo com o workspace fornecido.
static register(workspace, model_path, model_name, tags=None, properties=None, description=None, datasets=None, model_framework=None, model_framework_version=None, child_paths=None, sample_input_dataset=None, sample_output_dataset=None, resource_configuration=None)
Parâmetros
- model_path
- str
O caminho no sistema de arquivos local onde os ativos do modelo estão localizados. Isso pode ser um ponteiro direto para apenas um arquivo ou uma pasta. Se estiver apontando para uma pasta, o parâmetro child_paths
poderá ser usado para especificar arquivos individuais a serem agrupados como o objeto de modelo, em vez de usar todo o conteúdo da pasta.
- tags
- dict(<xref:{str : str}>)
Um dicionário opcional de marcas de chave-valor a serem atribuídas ao modelo.
- properties
- dict(<xref:{str : str}>)
Um dicionário opcional de propriedades de chave-valor a serem atribuídas ao modelo. Essas propriedades não podem ser alteradas após a criação do modelo. No entanto, novos pares de chave-valor podem ser adicionados.
- datasets
- list[(str, AbstractDataset)]
Uma lista de tuplas em que o primeiro elemento descreve a relação entre o conjunto de dados e o modelo, e o segundo elemento é o conjunto de dados.
- model_framework
- str
A versão da estrutura do modelo registrado. O uso das constantes compatíveis com o sistema da classe Framework permite a implantação simplificada para algumas estruturas populares.
Se fornecido em conjunto com um model_path
para uma pasta, somente os arquivos especificados serão agrupados no objeto de modelo.
- sample_input_dataset
- AbstractDataset
Amostra do conjunto de dados de entrada para o modelo registrado.
- sample_output_dataset
- AbstractDataset
Amostra do conjunto de dados de saída para o modelo registrado.
- resource_configuration
- ResourceConfiguration
Uma configuração de recurso para executar o modelo registrado.
Retornos
O objeto de modelo registrado.
Tipo de retorno
Exceções
Comentários
Além do conteúdo do próprio arquivo de modelo, um modelo registrado também armazena os metadados do modelo, incluindo descrição do modelo, marcas e informações de estrutura, que serão úteis ao gerenciar e implantar o modelo no workspace. Usando marcas, por exemplo, você pode categorizar seus modelos e aplicar filtros ao listar modelos no workspace.
A amostra a seguir mostra como registrar um modelo especificando marcas e uma descrição.
from azureml.core.model import Model
model = Model.register(model_path="sklearn_regression_model.pkl",
model_name="sklearn_regression_model",
tags={'area': "diabetes", 'type': "regression"},
description="Ridge regression model to predict diabetes",
workspace=ws)
O exemplo completo está disponível em https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/deploy-to-local/register-model-deploy-local-advanced.ipynb
Se você tiver um modelo que foi produzido como resultado de uma execução de experimento, você poderá registrá-lo de um objeto Run diretamente, sem baixá-lo em um arquivo local primeiro. Para fazer isso, use o método register_model conforme documentado na classe Run.
remove_tags
Remover as chaves especificadas do dicionário de marcas deste modelo.
remove_tags(tags)
Parâmetros
Exceções
serialize
Converter esse modelo em um dicionário serializado JSON.
serialize()
Retornos
A representação JSON desse modelo
Tipo de retorno
Exceções
update
Executar uma atualização in-loco do modelo.
Os valores existentes dos parâmetros especificados são substituídos.
update(tags=None, description=None, sample_input_dataset=None, sample_output_dataset=None, resource_configuration=None)
Parâmetros
- tags
- dict(<xref:{str : str}>)
Um dicionário de marcas com as quais atualizar o modelo. Essas marcas substituem as marcas existentes do modelo.
- description
- str
A nova descrição a ser usada para o modelo. Esse nome substitui o nome existente.
- sample_input_dataset
- AbstractDataset
Conjunto de dados de entrada de amostra a ser usado para o modelo registrado. Este conjunto de dados de entrada de amostra substitui o conjunto de dados existente.
- sample_output_dataset
- AbstractDataset
O conjunto de dados de saída de amostra ser usado para o modelo registrado. Este conjunto de dados de saída de amostra substitui o conjunto de dados existente.
- resource_configuration
- ResourceConfiguration
A configuração de recurso a ser usada para executar o modelo registrado.
Exceções
update_tags_properties
Executa uma atualização das marcas e propriedades do modelo.
update_tags_properties(add_tags=None, remove_tags=None, add_properties=None)
Parâmetros
- add_properties
- dict(<xref:{str : str}>)
Um dicionário de propriedades a serem adicionadas.
Exceções
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de