Partilhar via


Model Classe

Representa o resultado do treinamento de aprendizado de máquina.

Um modelo é o resultado de um treinamento Run de aprendizado de máquina do Azure ou de algum outro processo de treinamento de modelo fora do Azure. Independentemente de como o modelo é produzido, ele pode ser registrado em um espaço de trabalho, 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 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 espaço de trabalho 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

Name Description
workspace
Necessário

O objeto de espaço de trabalho 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 é retornado, se existir.

Default value: None
id
str

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

Default value: None
tags

Uma lista opcional de tags 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 da chave2']]

Default value: 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. ['chave', ['chave2', 'valor da chave2']]

Default value: 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 é retornada, se existir. Se version for omitida, a versão mais recente do modelo será retornada.

Default value: None
run_id
str

ID opcional usada para filtrar os resultados retornados.

Default value: None
model_framework
str

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

Default value: None
workspace
Necessário

O objeto de espaço de trabalho que contém o modelo a ser recuperado.

name
Necessário
str

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

id
Necessário
str

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

tags
Necessário

Uma lista opcional de tags 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 da chave2']]

properties
Necessá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. ['chave', ['chave2', 'valor da chave2']]

version
Necessá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 é retornada, se existir. Se version for omitida, a versão mais recente do modelo será retornada.

run_id
Necessário
str

ID opcional usada para filtrar os resultados retornados.

model_framework
Necessário
str

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

expand

Se verdadeiro, retornará modelos com todas as subpropriedades preenchidas, por exemplo, executar, conjunto de dados e experimentar.

Default value: True

Observações

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

O registro de um modelo cria um contêiner lógico para um ou mais arquivos que compõem seu modelo. Além do conteúdo do arquivo de modelo em si, um modelo registrado também armazena metadados do modelo, incluindo descrição do modelo, tags e informações da estrutura, que são úteis ao gerenciar e implantar o modelo em seu espaço de trabalho. Por exemplo, com tags você pode categorizar seus modelos e aplicar filtros ao listar modelos em seu espaço de trabalho. 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 tags 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 estrutura, conjuntos de dados de 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

Name 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

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

mime_type
str

O tipo de mímica do modelo.

azureml.core.Model.name

O nome do modelo.

model_framework
str

A estrutura do Modelo.

model_framework_version
str

A versão de estrutura do modelo.

azureml.core.Model.tags

Um dicionário de tags para o objeto Model.

azureml.core.Model.properties

Dicionário de propriedades de valor-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 descompactado (sem alcatroamento) quando puxado para um contexto local.

url
str

O local url do modelo.

azureml.core.Model.version

A versão do modelo.

azureml.core.Model.workspace

O espaço de trabalho 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 deste modelo.

resource_configuration

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

Métodos

add_dataset_references

Associe os conjuntos de dados fornecidos a este modelo.

add_properties

Adicione pares de valores de chave ao dicionário de propriedades deste modelo.

add_tags

Adicione pares de valor-chave ao dicionário de tags deste modelo.

delete

Exclua este modelo de seu espaço de trabalho associado.

deploy

Implante um Webservice a partir 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 modelo.

A conversão falhará se o espaço de trabalho especificado não for o espaço de trabalho no 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 seguintes locais.

Se version for Nenhum:

  1. Download do remoto para o cache (se o espaço de trabalho for fornecido)
  2. Carregar a partir do cache azureml-models/$MODEL_NAME/$LATEST_VERSION/
  3. ./$MODEL_NOME

Se version não for Nenhum:

  1. Carregar a partir do cache azureml-models/$MODEL_NAME/$SPECIFIED_VERSION/
  2. Download do remoto para o cache (se o espaço de trabalho for fornecido)
get_sas_urls

Retorna um dicionário de pares chave-valor contendo nomes de arquivos e URLs SAS correspondentes.

list

Recupere uma lista de todos os modelos associados ao espaço de trabalho fornecido, com filtros opcionais.

package

Crie um pacote de modelo na forma de uma imagem do Docker ou contexto de compilação do Dockerfile.

print_configuration

Imprima a configuração do usuário.

profile

Traça o perfil do modelo para obter recomendações de requisitos de recursos.

Esta é uma operação de longa duração que pode levar até 25 minutos, dependendo do tamanho do conjunto de dados.

register

Registre um modelo com o espaço de trabalho fornecido.

remove_tags

Remova as chaves especificadas do dicionário de tags deste modelo.

serialize

Converta este 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 tags e propriedades do modelo.

add_dataset_references

Associe os conjuntos de dados fornecidos a este modelo.

add_dataset_references(datasets)

Parâmetros

Name Description
datasets
Necessário
list[tuple(<xref:str :> (Dataset ou DatasetSnapshot))]

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

Exceções

Tipo Description

add_properties

Adicione pares de valores de chave ao dicionário de propriedades deste modelo.

add_properties(properties)

Parâmetros

Name Description
properties
Necessário
dict(<xref:str : str>)

O dicionário de propriedades a adicionar.

add_tags

Adicione pares de valor-chave ao dicionário de tags deste modelo.

add_tags(tags)

Parâmetros

Name Description
tags
Necessário
dict(<xref:{str : str}>)

O dicionário de tags para adicionar.

Exceções

Tipo Description

delete

Exclua este modelo de seu espaço de trabalho associado.

delete()

Exceções

Tipo Description

deploy

Implante um Webservice a partir 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

Name Description
workspace
Necessário

Um objeto Workspace ao qual associar o WebService.

name
Necessário
str

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

models
Necessário

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

inference_config

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

Default value: None
deployment_config

Um WebserviceDeploymentConfiguration usado para configurar o webservice. Se um não for fornecido, um objeto de configuração vazio será usado com base no destino desejado.

Default value: None
deployment_target

A ComputeTarget para implantar o WebService. Como as Instâncias de Contêiner do Azure não estão associadas ComputeTarget, deixe esse parâmetro como Nenhum para implantar nas Instâncias de Contêiner do Azure.

Default value: None
overwrite

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

Default value: False
show_output

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

Default value: False

Devoluções

Tipo Description

Um objeto Webservice correspondente ao webservice implantado.

Exceções

Tipo Description

deserialize

Converter um objeto JSON em um objeto modelo.

A conversão falhará se o espaço de trabalho especificado não for o espaço de trabalho no qual o modelo está registrado.

static deserialize(workspace, model_payload)

Parâmetros

Name Description
workspace
Necessário

O objeto de espaço de trabalho no qual o modelo está registrado.

model_payload
Necessário

Um objeto JSON para converter em um objeto Model.

Devoluções

Tipo Description

A representação do 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

Name Description
target_dir
str

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

Default value: .
exist_ok

Indica se os dir/files baixados devem ser substituídos, caso existam. A definição padrão é 'False'.

Default value: False
exists_ok

PRETERIDO. Utilize exist_ok.

Default value: None

Devoluções

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 seguintes locais.

Se version for Nenhum:

  1. Download do remoto para o cache (se o espaço de trabalho for fornecido)
  2. Carregar a partir do cache azureml-models/$MODEL_NAME/$LATEST_VERSION/
  3. ./$MODEL_NOME

Se version não for Nenhum:

  1. Carregar a partir do cache azureml-models/$MODEL_NAME/$SPECIFIED_VERSION/
  2. Download do remoto para o cache (se o espaço de trabalho for fornecido)
static get_model_path(model_name, version=None, _workspace=None)

Parâmetros

Name Description
model_name
Necessário
str

O nome do modelo a ser recuperado.

version
int

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

Default value: None
_workspace

O espaço de trabalho do qual recuperar um modelo. Não é possível usar remotamente. Se não for especificado, apenas o cache local será pesquisado.

Default value: None

Devoluções

Tipo Description
str

O caminho no disco para o modelo.

Exceções

Tipo Description

get_sas_urls

Retorna um dicionário de pares chave-valor contendo nomes de arquivos e URLs SAS correspondentes.

get_sas_urls()

Devoluções

Tipo Description

Dicionário de pares chave-valor contendo nomes de arquivos e URLs SAS correspondentes

list

Recupere uma lista de todos os modelos associados ao espaço de trabalho 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 Description
workspace
Necessário

O objeto de espaço de trabalho do qual recuperar modelos.

name
str

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

Default value: None
tags

Filtrará com base na lista fornecida, por 'chave' ou '[chave, valor]'. Ex. ['chave', ['chave2', 'valor da chave2']]

Default value: None
properties

Filtrará com base na lista fornecida, por 'chave' ou '[chave, valor]'. Ex. ['chave', ['chave2', 'valor da chave2']]

Default value: None
run_id
str

Filtrará com base no ID de execução fornecido.

Default value: None
latest

Se verdadeiro, só retornará modelos com a versão mais recente.

Default value: False
dataset_id
str

Filtrará com base no ID do conjunto de dados fornecido.

Default value: None
expand

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

Default value: True
page_count
int

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

Default value: 255
model_framework
str

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

Default value: None

Devoluções

Tipo Description

Uma lista de modelos, opcionalmente filtrada.

Exceções

Tipo Description

package

Crie um pacote de modelo na forma de uma imagem do Docker ou contexto de compilação do Dockerfile.

static package(workspace, models, inference_config=None, generate_dockerfile=False, image_name=None, image_label=None)

Parâmetros

Name Description
workspace
Necessário

O espaço de trabalho no qual criar o pacote.

models
Necessá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.

Default value: None
generate_dockerfile

Se deseja criar um Dockerfile que possa ser executado localmente em vez de criar uma imagem.

Default value: False
image_name
str

Ao criar uma imagem, o nome da imagem resultante.

Default value: None
image_label
str

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

Default value: None

Devoluções

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

Name Description
models
Necessário

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

inference_config
Necessário

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

deployment_config
Necessário

Um WebserviceDeploymentConfiguration usado para configurar o webservice.

deployment_target
Necessário

A ComputeTarget para implantar o WebService.

profile

Traça o perfil do modelo para obter recomendações de requisitos de recursos.

Esta é uma operação de longa duração 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

Name Description
workspace
Necessário

Um objeto Workspace no qual criar o perfil do modelo.

profile_name
Necessário
str

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

models
Necessário

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

inference_config
Necessário

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

input_dataset
Necessá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 em formato de cadeia de caracteres.

cpu

O número de núcleos de CPU a serem usados na maior instância de teste. Atualmente suportam valores até 3,5.

Default value: None
memory_in_gb

A quantidade de memória (em GB) a ser usada na maior instância de teste. Pode ser decimal. Atualmente suportam valores até 15.0.

Default value: None
description
str

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

Default value: None

Devoluções

Tipo Description

Exceções

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

register

Registre um modelo com o espaço de trabalho 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

Name Description
workspace
Necessário

O espaço de trabalho com o qual registrar o modelo.

model_path
Necessá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 apontar para uma pasta, o child_paths parâmetro pode 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
Necessário
str

O nome com o qual registrar o modelo.

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

Um dicionário opcional de tags de valor-chave para atribuir ao modelo.

Default value: None
properties
dict(<xref:{str : str}>)

Um dicionário opcional de propriedades de valor de chave para atribuir 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.

Default value: None
description
str

Uma descrição em texto do modelo.

Default value: None
datasets

Uma lista de tuplas onde o primeiro elemento descreve a relação dataset-model e o segundo elemento é o conjunto de dados.

Default value: None
model_framework
str

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

Default value: None
model_framework_version
str

A versão framework do modelo registrado.

Default value: None
child_paths

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

Default value: None
sample_input_dataset

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

Default value: None
sample_output_dataset

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

Default value: None
resource_configuration

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

Default value: None

Devoluções

Tipo Description

O objeto de modelo registrado.

Observações

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

O exemplo a seguir mostra como registrar um modelo especificando tags 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 para um arquivo local primeiro. Para fazer isso, use o register_model método conforme documentado Run na classe.

remove_tags

Remova as chaves especificadas do dicionário de tags deste modelo.

remove_tags(tags)

Parâmetros

Name Description
tags
Necessário

A lista de chaves a remover

serialize

Converta este modelo em um dicionário serializado json.

serialize()

Devoluções

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

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

Um dicionário de tags para atualizar o modelo. Essas tags substituem as tags existentes para o modelo.

Default value: None
description
str

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

Default value: 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.

Default value: 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.

Default value: None
resource_configuration

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

Default value: None

Exceções

Tipo Description

update_tags_properties

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

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

Parâmetros

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

Um dicionário de tags para adicionar.

Default value: None
remove_tags

Uma lista de nomes de tags a serem removidos.

Default value: None
add_properties
dict(<xref:{str : str}>)

Um dicionário de propriedades a adicionar.

Default value: None

Exceções

Tipo Description