Compartilhar via


Model Classe

Representa o resultado do treinamento de machine learning.

Um modelo é o resultado de um treinamento Run do Azure Machine Learning ou de 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 de ponta a ponta mostrando como os modelos são criados, gerenciados e consumidos, consulte Treinar modelo de classificação de imagem com dados 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 nome ou ID.

Construtor

Model(workspace, name=None, id=None, tags=None, properties=None, version=None, run_id=None, model_framework=None, expand=True, **kwargs)

Parâmetros

Nome Description
workspace
Obrigatório

O objeto de workspace que contém o modelo a ser recuperado.

name
str

O nome do modelo a ser recuperado. O modelo mais recente com o nome especificado será retornado, se existir.

Valor padrão: None
id
str

A ID do modelo a ser recuperado. O modelo com a ID especificada será retornado, se existir.

Valor padrão: None
tags

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.: ['key', ['key2', 'key2 value']]

Valor padrão: None
properties

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.: ['key', ['key2', 'key2 value']]

Valor padrão: None
version
int

A versão do modelo a ser retornada. Quando fornecido junto com o name parâmetro, a versão específica do modelo nomeado especificado será retornada, se existir. Se version for omitido, a última versão do modelo será retornada.

Valor padrão: None
run_id
str

ID opcional usada para filtrar os resultados retornados.

Valor padrão: None
model_framework
str

Nome da estrutura opcional usado para filtrar os resultados retornados. Se especificado, os resultados são retornados para os modelos que correspondem à estrutura especificada. Consulte Framework os valores permitidos.

Valor padrão: None
workspace
Obrigatório

O objeto de workspace que contém o modelo a ser recuperado.

name
Obrigatório
str

O nome do modelo a ser recuperado. O modelo mais recente com o nome especificado será retornado, se existir.

id
Obrigatório
str

A ID do modelo a ser recuperado. O modelo com a ID especificada será retornado, se existir.

tags
Obrigatório

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.: ['key', ['key2', 'key2 value']]

properties
Obrigatório

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.: ['key', ['key2', 'key2 value']]

version
Obrigatório
int

A versão do modelo a ser retornada. Quando fornecido junto com o name parâmetro, a versão específica do modelo nomeado especificado será retornada, se existir. Se version for omitido, a última versão do modelo será retornada.

run_id
Obrigatório
str

ID opcional usada para filtrar os resultados retornados.

model_framework
Obrigatório
str

Nome da estrutura opcional usado para filtrar os resultados retornados. Se especificado, os resultados são retornados para os modelos que correspondem à estrutura especificada. Consulte Framework os valores permitidos.

expand

Se for true, retornará modelos com todas as subpropriedades preenchidas, por exemplo, executar, conjunto de dados e experimento.

Valor padrão: True

Comentários

O construtor Model é usado para recuperar uma representação de nuvem de um objeto Model associado ao workspace especificado. Pelo menos o nome ou AD deve ser fornecido para recuperar modelos, mas também há outras opções para 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)

Registrar um modelo cria 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 metadados de modelo, incluindo descrição do modelo, marcas e informações de estrutura, que são úteis ao gerenciar e implantar o modelo em seu workspace. Por exemplo, com marcas, você pode categorizar seus modelos e aplicar filtros ao listar modelos em seu workspace. Após o registro, você pode baixar ou implantar o modelo registrado e receber todos os arquivos e metadados que foram registrados.

O exemplo 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 a seguir mostra como registrar um modelo especificando conjuntos de dados de estrutura, entrada e saída e configuração de recursos.


   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 atributos de uma representação local do objeto Modelo de nuvem. Essas variáveis devem ser consideradas somente leitura. A alteração de seus valores não será refletida no objeto de nuvem correspondente.

Variáveis

Nome Description
created_by

O usuário que criou o Modelo.

created_time

Quando o Modelo foi criado.

azureml.core.Model.description

Uma descrição do objeto Model.

azureml.core.Model.id

A ID do modelo. Isso assume a forma de nome< do >modelo:<versão> do modelo.

mime_type
str

O tipo de mime model.

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 Model.

azureml.core.Model.properties

Dicionário de propriedades de valor de chave para o Modelo. Essas propriedades não podem ser alteradas após o registro, no entanto, novos pares de valor de chave podem ser adicionados.

unpack

Se o Modelo precisa ou não ser desempacotado (desempacotado) quando puxado 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.

derived_model_ids

Uma lista de IDs de modelo que foram derivadas desse modelo.

resource_configuration

O ResourceConfiguration para este modelo. Usado para criação de perfil.

Métodos

add_dataset_references

Associe os conjuntos de dados fornecidos a este Modelo.

add_properties

Adicione pares de valor de chave ao dicionário de propriedades desse modelo.

add_tags

Adicione pares de valor de chave ao dicionário de marcas desse modelo.

delete

Exclua esse modelo de seu workspace associado.

deploy

Implantar um serviço Web de zero ou mais Model objetos.

O webservice resultante é um ponto de extremidade em tempo real que pode ser usado para solicitações de inferência. A função Model deploy é semelhante à deploy função da Webservice classe, mas não registra os modelos. Use a função Model deploy se você tiver objetos de modelo que já estão registrados.

deserialize

Converter um objeto JSON em um objeto de modelo.

A conversão falhará se o workspace especificado não for o workspace com o qual o modelo está registrado.

download

Baixe o modelo para o diretório de destino do sistema de arquivos local.

get_model_path

Retorne o caminho para o modelo.

A função procurará o modelo nos locais a seguir.

Se version for Nenhum:

  1. Baixar de remoto para cache (se o workspace for fornecido)
  2. Carregar do cache azureml-models/$MODEL_NAME/$LATEST_VERSION/
  3. ./$MODEL_NAME

Se version não for Nenhum:

  1. Carregar do cache azureml-models/$MODEL_NAME/$SPECIFIED_VERSION/
  2. Baixar de remoto para cache (se o workspace for fornecido)
get_sas_urls

Retornar um dicionário de pares chave-valor que contêm nomes de arquivo e URLs SAS correspondentes.

list

Recupere uma lista de todos os modelos associados ao workspace fornecido, com filtros opcionais.

package

Crie 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 obter 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

Registre um modelo com o workspace fornecido.

remove_tags

Remova as chaves especificadas do dicionário de marcas desse modelo.

serialize

Converta esse Modelo em um dicionário serializado json.

update

Execute uma atualização in-loco do modelo.

Os valores existentes dos parâmetros especificados são substituídos.

update_tags_properties

Execute uma atualização das marcas e propriedades do modelo.

add_dataset_references

Associe os conjuntos de dados fornecidos a este Modelo.

add_dataset_references(datasets)

Parâmetros

Nome Description
datasets
Obrigatório
list[tuple(<xref:str :> (Dataset ou DatasetSnapshot))]

Uma lista de tuplas que representam um emparelhamento de finalidade do conjunto de dados com o objeto Dataset.

Exceções

Tipo Description

add_properties

Adicione pares de valor de chave ao dicionário de propriedades desse modelo.

add_properties(properties)

Parâmetros

Nome Description
properties
Obrigatório
dict(<xref:str : str>)

O dicionário de propriedades a serem adicionadas.

add_tags

Adicione pares de valor de chave ao dicionário de marcas desse modelo.

add_tags(tags)

Parâmetros

Nome Description
tags
Obrigatório
dict(<xref:{str : str}>)

O dicionário de marcas a serem adicionadas.

Exceções

Tipo Description

delete

Exclua esse modelo de seu workspace associado.

delete()

Exceções

Tipo Description

deploy

Implantar um serviço Web de zero ou mais Model objetos.

O webservice resultante é um ponto de extremidade em tempo real que pode ser usado para solicitações de inferência. A função Model deploy é semelhante à deploy função da Webservice classe, mas não registra os modelos. Use a função Model deploy se você 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

Nome Description
workspace
Obrigatório

Um objeto workspace ao qual associar o serviço Web.

name
Obrigatório
str

O nome para fornecer o serviço implantado. Deve ser exclusivo para o workspace, consistir apenas em letras minúsculas, números ou traços, começar com uma letra e ter entre 3 e 32 caracteres.

models
Obrigatório

Uma lista de objetos de modelo. Pode ser uma lista vazia.

inference_config

Um objeto InferenceConfig usado para determinar as propriedades de modelo necessárias.

Valor padrão: None
deployment_config

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.

Valor padrão: None
deployment_target

Um ComputeTarget para implantar o serviço Web. Como as Instâncias de Contêiner do Azure não têm nenhum associado ComputeTarget, deixe esse parâmetro como Nenhum para implantar nas Instâncias de Contêiner do Azure.

Valor padrão: None
overwrite

Indica se o serviço existente deve ser substituído se já existe um serviço com o nome especificado.

Valor padrão: False
show_output

Indica se o progresso da implantação do serviço deve ser exibido.

Valor padrão: False

Retornos

Tipo Description

Um objeto webservice correspondente ao serviço Web implantado.

Exceções

Tipo Description

deserialize

Converter um objeto JSON em um objeto de modelo.

A conversão falhará se o workspace especificado não for o workspace com o qual o modelo está registrado.

static deserialize(workspace, model_payload)

Parâmetros

Nome Description
workspace
Obrigatório

O objeto de workspace com o qual o modelo está registrado.

model_payload
Obrigatório

Um objeto JSON a ser convertido em um objeto Model.

Retornos

Tipo Description

A representação de modelo do objeto JSON fornecido.

download

Baixe o modelo para o diretório de destino do sistema de arquivos local.

download(target_dir='.', exist_ok=False, exists_ok=None)

Parâmetros

Nome Description
target_dir
str

O caminho para um diretório no qual baixar o modelo. O padrão é ".

Valor padrão: .
exist_ok

Indica se será necessário substituir dir/arquivos baixados se eles existirem. Usa False como padrão.

Valor padrão: False
exists_ok

DEPRECADO. Use exist_ok.

Valor padrão: None

Retornos

Tipo Description
str

O caminho para o arquivo ou pasta do modelo.

get_model_path

Retorne o caminho para o modelo.

A função procurará o modelo nos locais a seguir.

Se version for Nenhum:

  1. Baixar de remoto para cache (se o workspace for fornecido)
  2. Carregar do cache azureml-models/$MODEL_NAME/$LATEST_VERSION/
  3. ./$MODEL_NAME

Se version não for Nenhum:

  1. Carregar do cache azureml-models/$MODEL_NAME/$SPECIFIED_VERSION/
  2. Baixar de remoto para cache (se o workspace for fornecido)
static get_model_path(model_name, version=None, _workspace=None)

Parâmetros

Nome Description
model_name
Obrigatório
str

O nome do modelo a ser recuperado.

version
int

A versão do modelo a ser recuperado. O padrão é a versão mais recente.

Valor padrão: None
_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.

Valor padrão: None

Retornos

Tipo Description
str

O caminho no disco para o modelo.

Exceções

Tipo Description

get_sas_urls

Retornar um dicionário de pares chave-valor que contêm nomes de arquivo e URLs SAS correspondentes.

get_sas_urls()

Retornos

Tipo Description

Dicionário de pares chave-valor que contêm nomes de arquivo e URLs SAS correspondentes

list

Recupere 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

Nome Description
workspace
Obrigatório

O objeto de workspace do qual recuperar modelos.

name
str

Se fornecido, retornará apenas modelos com o nome especificado, se houver.

Valor padrão: None
tags

Filtrará com base na lista fornecida, por 'key' ou '[key, value]'. Ex.: ['key', ['key2', 'key2 value']]

Valor padrão: None
properties

Filtrará com base na lista fornecida, por 'key' ou '[key, value]'. Ex.: ['key', ['key2', 'key2 value']]

Valor padrão: None
run_id
str

Filtrará com base na ID de execução fornecida.

Valor padrão: None
latest

Se for true, retornará apenas modelos com a versão mais recente.

Valor padrão: False
dataset_id
str

Filtrará com base na ID do conjunto de dados fornecida.

Valor padrão: None
expand

Se for true, retornará modelos com todas as subpropriedades preenchidas, por exemplo, executar, conjunto de dados e experimento. Definir isso como false deve acelerar a conclusão do método list() no caso de muitos modelos.

Valor padrão: True
page_count
int

O número de itens a serem recuperados em uma página. Atualmente, há suporte para valores de até 255. O padrão é 255.

Valor padrão: 255
model_framework
str

Se fornecido, retornará apenas modelos com a estrutura especificada, se houver.

Valor padrão: None

Retornos

Tipo Description

Uma lista de modelos, opcionalmente filtrados.

Exceções

Tipo Description

package

Crie 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

Nome Description
workspace
Obrigatório

O workspace no qual criar o pacote.

models
Obrigatório

Uma lista de objetos Model a serem incluídos no pacote. Pode ser uma lista vazia.

inference_config

Um objeto InferenceConfig para configurar a operação dos modelos. Isso deve incluir um objeto Environment.

Valor padrão: None
generate_dockerfile

Se é necessário criar um Dockerfile que possa ser executado localmente em vez de criar uma imagem.

Valor padrão: False
image_name
str

Ao criar uma imagem, o nome da imagem resultante.

Valor padrão: None
image_label
str

Ao criar uma imagem, o rótulo da imagem resultante.

Valor padrão: None

Retornos

Tipo Description

Um objeto ModelPackage.

print_configuration

Imprima a configuração do usuário.

static print_configuration(models, inference_config, deployment_config, deployment_target)

Parâmetros

Nome Description
models
Obrigatório

Uma lista de objetos de modelo. Pode ser uma lista vazia.

inference_config
Obrigatório

Um objeto InferenceConfig usado para determinar as propriedades de modelo necessárias.

deployment_config
Obrigatório

Um WebserviceDeploymentConfiguration usado para configurar o serviço Web.

deployment_target
Obrigatório

Um ComputeTarget para implantar o serviço Web.

profile

Cria o perfil do modelo para obter 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

Nome Description
workspace
Obrigatório

Um objeto workspace no qual o perfil do modelo será criado.

profile_name
Obrigatório
str

O nome da execução de criação de perfil.

models
Obrigatório

Uma lista de objetos de modelo. Pode ser uma lista vazia.

inference_config
Obrigatório

Um objeto InferenceConfig usado para determinar as propriedades de modelo necessárias.

input_dataset
Obrigatório

O conjunto de dados de entrada para criação de perfil. O conjunto de dados de entrada deve ter uma única coluna e as entradas de exemplo devem estar no formato de cadeia de caracteres.

cpu

O número de núcleos de cpu a serem usados na maior instância de teste. Atualmente, há suporte para valores de até 3,5.

Valor padrão: None
memory_in_gb

A quantidade de memória (em GB) a ser usada na maior instância de teste. Pode ser um decimal. Atualmente, há suporte para valores de até 15,0.

Valor padrão: None
description
str

Descrição a ser associada à execução de criação de perfil.

Valor padrão: None

Retornos

Tipo Description

Exceções

Tipo Description
<xref:azureml.exceptions.WebserviceException>, <xref:azureml.exceptions.UserErrorException>

register

Registre 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

Nome Description
workspace
Obrigatório

O workspace com o qual registrar o modelo.

model_path
Obrigatório
str

O caminho no sistema de arquivos local onde os ativos do modelo estão localizados. Isso pode ser um ponteiro direto para um único arquivo ou pasta. Se estiver apontando para uma pasta, o child_paths parâmetro poderá ser usado para especificar arquivos individuais a serem agrupados como o objeto Model, em vez de usar todo o conteúdo da pasta.

model_name
Obrigatório
str

O nome com o qual registrar o modelo.

tags
dict(<xref:{str : str}>)

Um dicionário opcional de marcas de valor de chave a serem atribuídas ao modelo.

Valor padrão: None
properties
dict(<xref:{str : str}>)

Um dicionário opcional de propriedades de valor de chave a ser atribuído ao modelo. Essas propriedades não podem ser alteradas após a criação do modelo, no entanto, novos pares de valor de chave podem ser adicionados.

Valor padrão: None
description
str

Uma descrição de texto do modelo.

Valor padrão: None
datasets

Uma lista de tuplas em que o primeiro elemento descreve a relação conjunto de dados-modelo e o segundo elemento é o conjunto de dados.

Valor padrão: None
model_framework
str

A estrutura do modelo registrado. O uso das constantes com suporte do sistema da classe permite a Framework implantação simplificada para algumas estruturas populares.

Valor padrão: None
model_framework_version
str

A versão da estrutura do modelo registrado.

Valor padrão: None
child_paths

Se fornecido em conjunto com uma model_path pasta, somente os arquivos especificados serão agrupados no objeto Model.

Valor padrão: None
sample_input_dataset

Conjunto de dados de entrada de exemplo para o modelo registrado.

Valor padrão: None
sample_output_dataset

Conjunto de dados de saída de exemplo para o modelo registrado.

Valor padrão: None
resource_configuration

Uma configuração de recurso para executar o modelo registrado.

Valor padrão: None

Retornos

Tipo Description

O objeto de modelo registrado.

Comentários

Além do conteúdo do próprio arquivo de modelo, um modelo registrado também armazena metadados de modelo, incluindo descrição do modelo, marcas e informações de estrutura, que são úteis ao gerenciar e implantar o modelo em seu workspace. Por exemplo, com marcas, você pode categorizar seus modelos e aplicar filtros ao listar modelos em seu workspace.

O exemplo 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)

Se você tiver um modelo que foi produzido como resultado de uma execução de experimento, poderá registrá-lo de um objeto de execução diretamente sem baixá-lo em um arquivo local primeiro. Para fazer isso, use o register_model método conforme documentado na Run classe.

remove_tags

Remova as chaves especificadas do dicionário de marcas desse modelo.

remove_tags(tags)

Parâmetros

Nome Description
tags
Obrigatório

A lista de chaves a serem removidas

serialize

Converta esse Modelo em um dicionário serializado json.

serialize()

Retornos

Tipo Description

A representação json deste modelo

update

Execute 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

Nome Description
tags
dict(<xref:{str : str}>)

Um dicionário de marcas com o qual atualizar o modelo. Essas marcas substituem as marcas existentes para o modelo.

Valor padrão: None
description
str

A nova descrição a ser usada para o modelo. Esse nome substitui o nome existente.

Valor padrão: None
sample_input_dataset

O conjunto de dados de entrada de exemplo a ser usado para o modelo registrado. Este conjunto de dados de entrada de exemplo substitui o conjunto de dados existente.

Valor padrão: None
sample_output_dataset

O conjunto de dados de saída de exemplo a ser usado para o modelo registrado. Este conjunto de dados de saída de exemplo substitui o conjunto de dados existente.

Valor padrão: None
resource_configuration

A configuração de recurso a ser usada para executar o modelo registrado.

Valor padrão: None

Exceções

Tipo Description

update_tags_properties

Execute uma atualização das marcas e propriedades do modelo.

update_tags_properties(add_tags=None, remove_tags=None, add_properties=None)

Parâmetros

Nome Description
add_tags
dict(<xref:{str : str}>)

Um dicionário de marcas a serem adicionadas.

Valor padrão: None
remove_tags

Uma lista de nomes de marcas a serem removidos.

Valor padrão: None
add_properties
dict(<xref:{str : str}>)

Um dicionário de propriedades a serem adicionadas.

Valor padrão: None

Exceções

Tipo Description