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 HyperDrivePassp, 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 da 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 para uma lista vazia.

Default value: None
inputs

Uma lista de enlaces de portas de entrada.

Default value: None
outputs

Uma lista de enlaces de portas de saída

Default value: None
metrics_output

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

Default value: 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 é determinada se a definição do conjunto de dados foi alterada e não se os dados subjacentes foram alterados.

Default value: True
version
str

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

Default value: 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 da 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 para uma lista vazia.

inputs
Necessário

Uma lista de enlaces de portas 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 é 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 utilizado no objeto do avaliador (por exemplo, o TensorFlow objeto) têm de ser especificados como lista com 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 de HyperDriveStep envolve especificar uma lista de DataReference objetos com o inputs parâmetro . Nos Pipelines do Azure ML, um passo de pipeline pode dar origem a 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 no source_directory que acionem um novo carregamento do snaphot.

O exemplo seguinte mostra como utilizar o HyperDrivePasso 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 do 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 representa o fluxo de trabalho.

create_node

Crie um nó a partir do passo do 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 representa o fluxo de trabalho.

create_node(graph, default_datastore, context)

Parâmetros

Name Description
graph
Necessário

O objeto de gráfico 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.