Share via


HyperDriveStep Classe

Cria um passo do Pipeline do Azure ML para executar o tunning de hiperparâmetros para a preparação de modelos do Machine Learning.

Para obter um exemplo de utilização do HyperDriveStep, consulte o bloco de notas https://aka.ms/pl-hyperdrive.

Crie um passo do Pipeline do Azure ML para executar o tunning de hiperparâmetros para a preparação de modelos do Machine Learning.

Herança
HyperDriveStep

Construtor

HyperDriveStep(name, hyperdrive_config, estimator_entry_script_arguments=None, inputs=None, outputs=None, metrics_output=None, allow_reuse=True, version=None)

Parâmetros

Name Description
name
Necessário
str

[Obrigatório] O nome do passo.

hyperdrive_config
Necessário

[Obrigatório] Um HyperDriveConfig que define a configuração da execução do HyperDrive.

estimator_entry_script_arguments

Uma lista de argumentos de linha de comandos para o script de entrada do avaliador. Se o script de entrada do Avaliador não aceitar argumentos de linha de comandos, defina este valor de parâmetro como uma lista vazia.

valor predefinido: None
inputs

Uma lista de enlaces de porta de entrada.

valor predefinido: None
outputs

Uma lista de enlaces de portas de saída

valor predefinido: None
metrics_output

Valor opcional que especifica a localização para armazenar as métricas de execução do HyperDrive como um ficheiro JSON.

valor predefinido: None
allow_reuse

Indica se o passo deve reutilizar os resultados anteriores ao executar novamente com as mesmas definições. A reutilização está ativada por predefinição. Se o conteúdo do passo (scripts/dependências), bem como as entradas e os parâmetros permanecerem inalterados, o resultado da execução anterior deste passo será reutilizado. Ao reutilizar o passo, em vez de submeter a tarefa para computação, os resultados da execução anterior são imediatamente disponibilizados para quaisquer passos subsequentes. Se utilizar conjuntos de dados do Azure Machine Learning como entradas, a reutilização será determinada se a definição do conjunto de dados foi alterada e não se os dados subjacentes foram alterados.

valor predefinido: True
version
str

Uma etiqueta de versão opcional para denotar uma alteração na funcionalidade do módulo.

valor predefinido: None
name
Necessário
str

[Obrigatório] O nome do passo.

hyperdrive_config
Necessário

[Obrigatório] Um HyperDriveConfig que define a configuração da execução do HyperDrive.

estimator_entry_script_arguments
Necessário

Uma lista de argumentos de linha de comandos para o script de entrada do avaliador. Se o script de entrada do Avaliador não aceitar argumentos de linha de comandos, defina este valor de parâmetro como uma lista vazia.

inputs
Necessário

Uma lista de enlaces de porta de entrada.

outputs
Necessário

Uma lista de enlaces de portas de saída.

metrics_output
Necessário

Um valor opcional que especifica a localização para armazenar as métricas de execução do HyperDrive como um ficheiro JSON.

allow_reuse
Necessário

Indica se o passo deve reutilizar os resultados anteriores ao executar novamente com as mesmas definições. A reutilização está ativada por predefinição. Se o conteúdo do passo (scripts/dependências), bem como as entradas e os parâmetros permanecerem inalterados, o resultado da execução anterior deste passo será reutilizado. Ao reutilizar o passo, em vez de submeter a tarefa para computação, os resultados da execução anterior são imediatamente disponibilizados para quaisquer passos subsequentes. Se utilizar conjuntos de dados do Azure Machine Learning como entradas, a reutilização será determinada se a definição do conjunto de dados foi alterada e não se os dados subjacentes foram alterados.

version
Necessário
str

versão

Observações

Tenha em atenção que os argumentos para o script de entrada utilizados no objeto do avaliador (por exemplo, o TensorFlow objeto) têm de ser especificados como lista utilizando o estimator_entry_script_arguments parâmetro ao instanciar um HyperDriveStep. O parâmetro script_params do avaliador aceita um dicionário. No entanto, estimator_entry_script_argument o parâmetro espera argumentos como uma lista.

A inicialização hyperDriveStep envolve especificar uma lista de DataReference objetos com o inputs parâmetro . Nos Pipelines do Azure ML, um passo de pipeline pode levar a saída de outro passo ou objetos DataReference como entrada. Por conseguinte, ao criar um HyperDriveStep, os inputs parâmetros e outputs têm de ser definidos explicitamente, o que substitui inputs o parâmetro especificado no objeto Estimador.

A melhor prática para trabalhar com o HyperDriveStep é utilizar uma pasta separada para scripts e quaisquer ficheiros dependentes associados ao passo e especificar essa pasta como o objeto do source_directoryavaliador. Por exemplo, veja o source_directory parâmetro da TensorFlow classe. Fazê-lo tem dois benefícios. Em primeiro lugar, ajuda a reduzir o tamanho do instantâneo criado para o passo porque apenas o que é necessário para o passo é instantâneo. Em segundo lugar, o resultado do passo de uma execução anterior pode ser reutilizado se não existirem alterações ao source_directory que acionarão um novo carregamento do snaphot.

O exemplo seguinte mostra como utilizar o HyperDriveStep num Pipeline do Azure Machine Learning.


   metrics_output_name = 'metrics_output'
   metrics_data = PipelineData(name='metrics_data',
                               datastore=datastore,
                               pipeline_output_name=metrics_output_name,
                               training_output=TrainingOutput("Metrics"))

   model_output_name = 'model_output'
   saved_model = PipelineData(name='saved_model',
                               datastore=datastore,
                               pipeline_output_name=model_output_name,
                               training_output=TrainingOutput("Model",
                                                              model_file="outputs/model/saved_model.pb"))

   hd_step_name='hd_step01'
   hd_step = HyperDriveStep(
       name=hd_step_name,
       hyperdrive_config=hd_config,
       inputs=[data_folder],
       outputs=[metrics_data, saved_model])

O exemplo completo está disponível a partir de https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-parameter-tuning-with-hyperdrive.ipynb

Métodos

create_node

Crie um nó a partir do passo HyperDrive e adicione ao gráfico especificado.

Este método não se destina a ser utilizado diretamente. Quando um pipeline é instanciado com este passo, o Azure ML transmite automaticamente os parâmetros necessários através deste método para que esse passo possa ser adicionado a um gráfico de pipeline que represente o fluxo de trabalho.

create_node

Crie um nó a partir do passo HyperDrive e adicione ao gráfico especificado.

Este método não se destina a ser utilizado diretamente. Quando um pipeline é instanciado com este passo, o Azure ML transmite automaticamente os parâmetros necessários através deste método para que esse passo possa ser adicionado a um gráfico de pipeline que represente o fluxo de trabalho.

create_node(graph, default_datastore, context)

Parâmetros

Name Description
graph
Necessário

O objeto de grafo ao que adicionar o nó.

default_datastore
Necessário

O arquivo de dados predefinido.

context
Necessário
<xref:azureml.pipeline.core._GraphContext>

O contexto do gráfico.

Devoluções

Tipo Description

O nó criado.