Partilhar via


HyperDriveStep Classe

Cria uma etapa do Pipeline do Azure ML para executar o ajuste de hiperparâmetros para treinamento de modelo de Aprendizado de Máquina.

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

Crie uma etapa do Pipeline do Azure ML para executar o ajuste de hiperparâmetros para treinamento de modelo de Aprendizado de Máquina.

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 da etapa.

hyperdrive_config
Necessário

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

estimator_entry_script_arguments

Uma lista de argumentos de linha de comando para o script de entrada do estimador. Se o script de entrada do Estimador não aceitar argumentos de linha de comando, defina esse valor de parâmetro como uma lista vazia.

Default value: None
inputs

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

Default value: None
outputs

Uma lista de ligações de porta de saída

Default value: None
metrics_output

Valor opcional que especifica o local para armazenar métricas de execução do HyperDrive como um arquivo JSON.

Default value: None
allow_reuse

Indica se a etapa deve reutilizar os resultados anteriores ao ser executada novamente com as mesmas configurações. A reutilização está ativada por predefinição. Se o conteúdo da etapa (scripts/dependências), bem como as entradas e os parâmetros permanecerem inalterados, a saída da execução anterior desta etapa será reutilizada. Ao reutilizar a etapa, em vez de enviar o trabalho para computação, os resultados da execução anterior são imediatamente disponibilizados para quaisquer etapas subsequentes. Se você usar conjuntos de dados do Aprendizado de Máquina do Azure como entradas, a reutilização será determinada se a definição do conjunto de dados foi alterada, não se os dados subjacentes foram alterados.

Default value: True
version
str

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

Default value: None
name
Necessário
str

[Obrigatório] O nome da etapa.

hyperdrive_config
Necessário

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

estimator_entry_script_arguments
Necessário

Uma lista de argumentos de linha de comando para o script de entrada do estimador. Se o script de entrada do Estimador não aceitar argumentos de linha de comando, defina esse valor de parâmetro como uma lista vazia.

inputs
Necessário

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

outputs
Necessário

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

metrics_output
Necessário

Um valor opcional que especifica o local para armazenar métricas de execução do HyperDrive como um arquivo JSON.

allow_reuse
Necessário

Indica se a etapa deve reutilizar os resultados anteriores ao ser executada novamente com as mesmas configurações. A reutilização está ativada por predefinição. Se o conteúdo da etapa (scripts/dependências), bem como as entradas e os parâmetros permanecerem inalterados, a saída da execução anterior desta etapa será reutilizada. Ao reutilizar a etapa, em vez de enviar o trabalho para computação, os resultados da execução anterior são imediatamente disponibilizados para quaisquer etapas subsequentes. Se você usar conjuntos de dados do Aprendizado de Máquina do Azure como entradas, a reutilização será determinada se a definição do conjunto de dados foi alterada, não se os dados subjacentes foram alterados.

version
Necessário
str

versão

Observações

Observe que os argumentos para o script de entrada usado no objeto estimador (por exemplo, o TensorFlow objeto) devem ser especificados como lista usando o estimator_entry_script_arguments parâmetro ao instanciar um HyperDriveStep. O parâmetro script_params estimador aceita um dicionário. No entanto, estimator_entry_script_argument parâmetro espera argumentos como uma lista.

A inicialização do HyperDriveStep envolve a especificação de uma lista de DataReference objetos com o inputs parâmetro. Nos Pipelines do Azure ML, uma etapa de pipeline pode executar a saída de outra etapa ou objetos DataReference como entrada. Portanto, ao criar um HyperDriveStep, os parâmetros e inputs devem ser definidos explicitamente, o outputs que substitui inputs o parâmetro especificado no objeto Estimator.

A prática recomendada para trabalhar com o HyperDriveStep é usar uma pasta separada para scripts e quaisquer arquivos dependentes associados à etapa e especificar essa pasta como o objeto estimador .source_directory Por exemplo, consulte o source_directoryTensorFlow parâmetro da classe. Fazê-lo tem duas vantagens. Primeiro, ele ajuda a reduzir o tamanho do instantâneo criado para a etapa, pois apenas o que é necessário para a etapa é instantâneo. Em segundo lugar, a saída da etapa de uma execução anterior pode ser reutilizada se não houver alterações no source_directory que desencadearia um reupload do snaphot.

O exemplo a seguir mostra como usar o HyperDriveStep em um 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])

A amostra completa está disponível em 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 da etapa do HyperDrive e adicione ao gráfico fornecido.

Este método não se destina a ser utilizado 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 gráfico de pipeline que representa o fluxo de trabalho.

create_node

Crie um nó a partir da etapa do HyperDrive e adicione ao gráfico fornecido.

Este método não se destina a ser utilizado 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 gráfico de pipeline que representa o fluxo de trabalho.

create_node(graph, default_datastore, context)

Parâmetros

Name Description
graph
Necessário

O objeto gráfico ao qual adicionar o nó.

default_datastore
Necessário

O armazenamento de dados padrão.

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

O contexto do gráfico.

Devoluções

Tipo Description

O nó criado.