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 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 do MNIST e scikit-aprender a usar Azure Machine Learning.

Herança
builtins.object
Model

Construtor

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

Parâmetros

workspace
Workspace

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

name
<xref:str>

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

id
<xref: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.: [' Key ', [' Key2 ', ' Key2 value ']]

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.: [' Key ', [' Key2 ', ' Key2 value ']]

version
<xref: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 omitido, a versão mais recente do modelo será retornada.

run_id
<xref:str>

ID opcional usada para filtrar os resultados retornados.

model_framework
<xref:str>

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

Comentários

O construtor de modelo é usado para recuperar uma representação em nuvem de um objeto de modelo associado ao espaço de trabalho especificado. Pelo menos o nome ou a ID deve 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)

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 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 espaço de trabalho. Por exemplo, com marcas, 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 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

O exemplo a seguir mostra como registrar um modelo que especifica a estrutura, os conjuntos de dados de entrada e saída e a 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)

O exemplo completo está disponível em https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/deploy-to-cloud/model-register-and-deploy.ipynb

A seção de variáveis lista os atributos de uma representação local do objeto de modelo de nuvem. Essas variáveis devem ser consideradas somente leitura. Alterar seus valores não será refletido no objeto de nuvem correspondente.

Variáveis

created_by
<xref:dict>

O usuário que criou o modelo.

created_time
<xref:datetime.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
<xref:str>

O tipo MIME do modelo.

azureml.core.Model.name

O nome do modelo.

model_framework
<xref:str>

A estrutura do modelo.

model_framework_version
<xref: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 valor de chave para o modelo. Essas propriedades não podem ser alteradas após o registro, no entanto, novos pares chave-valor podem ser adicionados.

unpack
<xref:bool>

Se o modelo precisa ou não ser desempacotado (untarred) quando puxado para um contexto local.

url
<xref:str>

O local da 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
<xref:str>

A ID do modelo pai do modelo.

derived_model_ids
list[<xref:str>]

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

resource_configuration
ResourceConfiguration

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

Métodos

add_dataset_references

Associe os conjuntos de itens fornecidos a esse modelo.

add_properties

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

add_tags

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

delete

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

deploy

Implante um WebService 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 deploy função Model é semelhante à deploy função da Webservice classe, mas não registra os modelos. Use a deploy função modelo 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 espaço de trabalho especificado não for o espaço de trabalho 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

Retornar o caminho para o modelo.

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

Se version for None:

  1. Baixar de remoto para cache (se o espaço de trabalho 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 espaço de trabalho for fornecido)
get_sas_urls

Retornar um dicionário de pares chave-valor que contenham nomes de Filee 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 um contexto de compilação de imagem ou Dockerfile do Docker.

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 demorada que pode levar até 25 minutos, dependendo do tamanho do conjunto de um.

register

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

remove_tags

Remova as chaves especificadas do dicionário de marcas deste 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 itens fornecidos a esse modelo.

add_dataset_references(datasets)

Parâmetros

datasets
list[<xref:tuple>(<xref:str : >(Dataset ou DatasetSnapshot))]

Uma lista de tuplas que representa um emparelhamento da finalidade do conjunto de objetos para o objeto DataSet.

add_properties

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

add_properties(properties)

Parâmetros

properties
<xref:dict>(<xref:str : str>)

O dicionário de propriedades a ser adicionado.

add_tags

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

add_tags(tags)

Parâmetros

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

O dicionário de marcas a serem adicionadas.

Exceções

delete

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

delete()

deploy

Implante um WebService 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 deploy função Model é semelhante à deploy função da Webservice classe, mas não registra os modelos. Use a deploy função modelo se você tiver objetos de modelo que já estão registrados.

deploy(workspace, name, models, inference_config=None, deployment_config=None, deployment_target=None, overwrite=False, show_output=False)

Parâmetros

workspace
Workspace

Um objeto de espaço de trabalho para associar o WebService.

name
<xref:str>

O nome para fornecer o 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 de comprimento.

models
list[Model]

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

inference_config
InferenceConfig
valor padrão: None

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

deployment_config
WebserviceDeploymentConfiguration
valor padrão: None

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.

deployment_target
ComputeTarget
valor padrão: None

Um ComputeTarget para implantar o WebService no. 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.

overwrite
<xref:bool>
valor padrão: False

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

show_output
<xref:bool>
valor padrão: False

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

Retornos

Um objeto WebService 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 espaço de trabalho especificado não for o espaço de trabalho com o qual o modelo está registrado.

deserialize(workspace, model_payload)

Parâmetros

workspace
Workspace

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

model_payload
<xref:dict>

Um objeto JSON a ser convertido em um objeto de modelo.

Retornos

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

Tipo de retorno

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

target_dir
<xref:str>
valor padrão: .

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

exist_ok
<xref:bool>
valor padrão: False

Indica se os arquivos/dir baixados devem ser substituídos, se existirem. Usa False como padrão.

exists_ok
<xref:bool>
valor padrão: None

Preterido. Use exist_ok.

Retornos

O caminho para o arquivo ou a pasta do modelo.

Tipo de retorno

<xref:str>

get_model_path

Retornar o caminho para o modelo.

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

Se version for None:

  1. Baixar de remoto para cache (se o espaço de trabalho 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 espaço de trabalho for fornecido)
get_model_path(model_name, version=None, _workspace=None)

Parâmetros

model_name
<xref:str>

O nome do modelo a ser recuperado.

version
<xref:int>
valor padrão: None

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

_workspace
Workspace
valor padrão: None

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

<xref:str>

Exceções

get_sas_urls

Retornar um dicionário de pares chave-valor que contenham nomes de Filee URLs SAS correspondentes.

get_sas_urls()

Retornos

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

Tipo de retorno

<xref:dict>

list

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

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

workspace
Workspace

O objeto de espaço de trabalho do qual os modelos são recuperados.

name
<xref:str>
valor padrão: None

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

tags
list
valor padrão: None

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

properties
list
valor padrão: None

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

run_id
<xref:str>
valor padrão: None

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

latest
<xref:bool>
valor padrão: False

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

dataset_id
<xref:str>
valor padrão: None

Será filtrado com base na ID do conjunto de um fornecido.

expand
<xref:bool>
valor padrão: True

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

page_count
<xref:int>
valor padrão: 255

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

model_framework
<xref:str>
valor padrão: None

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

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

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

Parâmetros

workspace
Workspace

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

models
list[Model]

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

inference_config
InferenceConfig
valor padrão: None

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

generate_dockerfile
<xref:bool>
valor padrão: False

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

image_name
<xref:str>
valor padrão: None

Ao criar uma imagem, o nome da imagem resultante.

image_label
<xref:str>
valor padrão: None

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

Retornos

Um objeto ModelPackage.

Tipo de retorno

Imprima a configuração do usuário.

print_configuration(models, inference_config, deployment_config, deployment_target)

Parâmetros

models
list[Model]

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

inference_config
InferenceConfig

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

deployment_config
WebserviceDeploymentConfiguration

Um WebserviceDeploymentConfiguration usado para configurar o WebService.

deployment_target
ComputeTarget

Um ComputeTarget para implantar o WebService no.

profile

Cria o perfil do modelo para obter recomendações de requisito de recurso.

Essa é uma operação de execução demorada que pode levar até 25 minutos, dependendo do tamanho do conjunto de um.

profile(workspace, profile_name, models, inference_config, input_dataset, cpu=None, memory_in_gb=None, description=None)

Parâmetros

workspace
Workspace

Um objeto de espaço de trabalho no qual criar o perfil do modelo.

profile_name
<xref:str>

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

models
list[Model]

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

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 a 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
<xref:float>
valor padrão: None

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
<xref:float>
valor padrão: None

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.

description
<xref:str>
valor padrão: None

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

Tipo de retorno

register

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

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

workspace
Workspace

O espaço de trabalho para registrar o modelo.

model_path
<xref: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 de modelo, em vez de usar todo o conteúdo da pasta.

model_name
<xref:str>

O nome para o qual registrar o modelo.

tags
<xref:dict>(<xref:{str : str}>)
valor padrão: None

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

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

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 chave-valor podem ser adicionados.

description
<xref:str>
valor padrão: None

Uma descrição de texto do modelo.

datasets
list[(<xref:str>, AbstractDataset)]
valor padrão: None

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

model_framework
<xref:str>
valor padrão: None

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

model_framework_version
<xref:str>
valor padrão: None

A versão da estrutura do modelo registrado.

child_paths
list[<xref:str>]
valor padrão: None

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
valor padrão: None

Exemplo de conjunto de dados de entrada para o modelo registrado.

sample_output_dataset
AbstractDataset
valor padrão: None

Exemplo de conjunto de exemplos para o modelo registrado.

resource_configuration
ResourceConfiguration
valor padrão: None

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

Retornos

O objeto de modelo registrado.

Tipo de retorno

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 espaço de trabalho. Por exemplo, com marcas, 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 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 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 deste modelo.

remove_tags(tags)

Parâmetros

tags
list[<xref:str>]

A lista de chaves a serem removidas

serialize

Converta esse modelo em um dicionário serializado JSON.

serialize()

Retornos

A representação JSON deste modelo

Tipo de retorno

<xref:dict>

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

tags
<xref:dict>(<xref:{str : str}>)
valor padrão: None

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

description
<xref:str>
valor padrão: None

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

sample_input_dataset
AbstractDataset
valor padrão: None

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 DataSet existente.

sample_output_dataset
AbstractDataset
valor padrão: None

O conjunto de exemplos de exemplo para usar para o modelo registrado. Este conjunto de exemplos de exemplo substitui o conjunto de resultados existente.

resource_configuration
ResourceConfiguration
valor padrão: None

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

Exceções

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

add_tags
<xref:dict>(<xref:{str : str}>)
valor padrão: None

Um dicionário de marcas a serem adicionadas.

remove_tags
list[<xref:str>]
valor padrão: None

Uma lista de nomes de marca a serem removidos.

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

Um dicionário de propriedades a ser adicionado.

Exceções