Compartilhar via


AutoMLStep Classe

Cria uma etapa do pipeline do Azure ML que encapsula uma execução de ML automatizado.

Para obter um exemplo de como usar o AutoMLStep, confira o notebook https://aka.ms/pl-automl.

Inicialize um AutoMLStep.

Herança
AutoMLStep

Construtor

AutoMLStep(name, automl_config, inputs=None, outputs=None, script_repl_params=None, allow_reuse=True, version=None, hash_paths=None, enable_default_model_output=True, enable_default_metrics_output=True, **kwargs)

Parâmetros

Nome Description
name
Obrigatório
str

O nome da etapa.

automl_config
Obrigatório

Um objeto AutoMLConfig que define a configuração dessa execução de AutoML.

inputs

Uma lista de vinculações de porta de entrada.

Valor padrão: None
outputs

Uma lista de vinculações de porta de saída.

Valor padrão: None
script_repl_params

Parâmetros opcionais a serem substituídos em um script, por exemplo, {'param1': 'value1', 'param2': 'value2'}.

Valor padrão: None
allow_reuse

Indica se a etapa deve ou não reutilizar os resultados anteriores quando executada novamente com as mesmas configurações.

A reutilização está habilitada por padrão. Se o conteúdo da etapa (scripts/dependências), as entradas e os parâmetros permanecerem inalterados, será reutilizada a saída da execução anterior dessa etapa. Ao reutilizar a etapa, em vez de enviar o trabalho para computação, os resultados da execução anterior serão disponibilizados imediatamente para etapas posteriores. Se você usar conjuntos de dados do Azure Machine Learning como entradas, a reutilização será determinada dependendo de ter havido ou não alteração na definição do conjunto de dados, não de ter havido alteração nos dados subjacentes.

Valor padrão: True
version
str

Uma versão a ser atribuída à etapa.

Valor padrão: None
hash_paths

PRETERIDO. Uma lista de caminhos nos quais efetuar hash ao verificar se há alterações no conteúdo da etapa do pipeline.

Por padrão, todos os arquivos sob o parâmetro path em AutoMLConfig passam por hash, exceto os arquivos listados em .amlignore ou .gitignore em path. Se nenhuma alteração foi detectada, o pipeline reutiliza o conteúdo da etapa de uma execução anterior.

Valor padrão: None
enable_default_model_output

Indica se o melhor modelo será adicionado ou não como uma saída padrão. Isso pode ser usado para recuperar o melhor modelo após a conclusão da execução usando a classe AutoMLStepRun. Observe que, se a saída do modelo padrão não é necessária, é recomendável definir esse parâmetro como False.

Valor padrão: True
enable_default_metrics_output

Indica se todas as métricas de execução filho serão ou não adicionadas como uma saída padrão. Isso pode ser usado para recuperar as métricas de execução filho após a conclusão da operação usando a classe AutoMLStepRun. Observe que, se a saída de métricas padrão não é necessária, é recomendável definir esse parâmetro como False.

Valor padrão: True
name
Obrigatório
str

O nome da etapa.

automl_config
Obrigatório

Um AutoMLConfig que define a configuração para essa execução de AutoML.

inputs
Obrigatório

Uma lista de vinculações de porta de entrada.

outputs
Obrigatório

Uma lista de vinculações de porta de saída.

script_repl_params
Obrigatório

Parâmetros opcionais a serem substituídos em um script, por exemplo, {'param1': 'value1', 'param2': 'value2'}.

script_repl_params
Obrigatório

Parâmetros opcionais a serem substituídos em um script.

allow_reuse
Obrigatório

Indica se a etapa deve ou não reutilizar os resultados anteriores quando executada novamente com as mesmas configurações.

A reutilização está habilitada por padrão. Se o conteúdo da etapa (scripts/dependências), as entradas e os parâmetros permanecerem inalterados, será reutilizada a saída da execução anterior dessa etapa. Ao reutilizar a etapa, em vez de enviar o trabalho para computação, os resultados da execução anterior serão disponibilizados imediatamente para etapas posteriores. Se você usar conjuntos de dados do Azure Machine Learning como entradas, a reutilização será determinada dependendo de ter havido ou não alteração na definição do conjunto de dados, não de ter havido alteração nos dados subjacentes.

version
Obrigatório
str

Uma versão a ser atribuída à etapa.

hash_paths
Obrigatório

PRETERIDO. Uma lista de caminhos nos quais efetuar hash ao verificar se há alterações no conteúdo da etapa do pipeline.

Por padrão, todos os arquivos sob o parâmetro path em AutoMLConfig passam por hash, exceto os arquivos listados em .amlignore ou .gitignore em path. Se nenhuma alteração foi detectada, o pipeline reutiliza o conteúdo da etapa de uma execução anterior.

enable_default_model_output
Obrigatório

Indica se o melhor modelo será adicionado ou não como uma saída padrão. Isso pode ser usado para recuperar o melhor modelo após a conclusão da execução usando a classe AutoMLStepRun. Observe que, se a saída do modelo padrão não é necessária, é recomendável definir esse parâmetro como False.

enable_default_metrics_output
Obrigatório

Indica se todas as métricas de execução filho serão ou não adicionadas como uma saída padrão. Isso pode ser usado para recuperar as métricas de execução filho após a conclusão da operação usando a classe AutoMLStepRun. Observe que, se a saída de métricas padrão não é necessária, é recomendável definir esse parâmetro como False.

Comentários

Com a classe AutoMLStep, você pode executar seu fluxo de trabalho de ML automatizado em um pipeline do Azure Machine Learning. Pipelines oferecem benefícios como capacidade de repetição, execuções autônomas, acompanhamento e controle de versão e modularidade para seu fluxo de trabalho de ML automatizado. Para obter mais informações, confira O que são pipelines do Azure Machine Learning?.

Quando o fluxo de ML automatizado está em um pipeline, você pode agendar o pipeline para ser executado em um agendamento baseado em tempo ou em alterações. Agendamentos baseados em tempo são úteis para tarefas rotineiras, como o monitoramento de descompasso de dados, enquanto agendamentos baseados em alterações são úteis para alterações irregulares ou imprevisíveis, como quando os dados são alterados. Por exemplo, seu agendamento pode sondar um armazenamento de blob em que os dados estão sendo carregados, depois executar o pipeline novamente se os dados forem alterados e, por fim, registrar a nova versão do modelo depois que a execução for concluída. Para obter mais informações, confira Agendar pipelines de machine learning e Disparar uma execução de um pipeline de Machine Learning de um Aplicativo Lógico.

O exemplo a seguir mostra como criar um AutoMLStep.


   automl_step = AutoMLStep(
       name='automl_module',
       automl_config=automl_config,
       outputs=[metrics_data, model_data],
       allow_reuse=True)

O exemplo completo está disponível em https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-with-automated-machine-learning-step.ipynb

O exemplo a seguir mostra como usar o objeto AutoMLStep em um Pipeline.


   from azureml.pipeline.core import Pipeline
   pipeline = Pipeline(
       description="pipeline_with_automlstep",
       workspace=ws,
       steps=[automl_step])

O exemplo completo está disponível em https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-with-automated-machine-learning-step.ipynb

O exemplo acima mostra uma etapa no pipeline. No entanto, ao usar AutoMLStep em um fluxo de trabalho de ML automatizado do mundo real, você terá pelo menos uma etapa de pipeline que executa a preparação de dados antes do AutoMLStep e, depois, outra etapa de pipeline que registra o modelo. Para ver um exemplo desse tipo de fluxo de trabalho, confira o notebook https://aka.ms/automl-retrain-pipeline.

Para gerenciar, verificar o status e obter detalhes da execução de pipeline, use a classe AutoMLStepRun.

Para obter mais informações sobre machine learning automatizado no Azure, confira o artigo O que é machine learning automatizado?. Para obter mais informações sobre como configurar um experimento de ML automatizado sem usar um pipeline, confira o artigo Configurar um experimento de ML automatizado no Python.

Métodos

create_node

Crie um nó com base nessa etapa de AutoML e adicione-o ao grafo especificado.

Esse método não se destina a ser usado diretamente. Quando um pipeline é instanciado com essa etapa, o Azure ML passa automaticamente os parâmetros necessários por meio desse método para que essa etapa possa ser adicionada a um grafo de pipeline que representa o fluxo de trabalho.

create_node

Crie um nó com base nessa etapa de AutoML e adicione-o ao grafo especificado.

Esse método não se destina a ser usado diretamente. Quando um pipeline é instanciado com essa etapa, o Azure ML passa automaticamente os parâmetros necessários por meio desse método para que essa etapa possa ser adicionada a um grafo de pipeline que representa o fluxo de trabalho.

create_node(graph, default_datastore, context)

Parâmetros

Nome Description
graph
Obrigatório

O objeto de grafo ao qual adicionar o nó.

default_datastore
Obrigatório

O armazenamento de dados padrão.

context
Obrigatório
<xref:azureml.pipeline.core._GraphContext>

O contexto do grafo.

Retornos

Tipo Description

O nó criado.

Atributos

AUTOML_CONFIG_PARAM_NAME

AUTOML_CONFIG_PARAM_NAME = 'AutoMLConfig'

DEFAULT_METRIC_PREFIX

DEFAULT_METRIC_PREFIX = 'default_metrics_'

DEFAULT_MODEL_PREFIX

DEFAULT_MODEL_PREFIX = 'default_model_'