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
str
Necessário

[Obrigatório] O nome do passo.

hyperdrive_config
HyperDriveConfig
Necessário

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

estimator_entry_script_arguments
list
valor predefinido: None

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
list[Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference, PortDataReference, PipelineData, DatasetConsumptionConfig]]
valor predefinido: None

Uma lista de enlaces de portas de entrada.

outputs
list[Union[PipelineData, OutputDatasetConfig, PipelineOutputAbstractDataset, OutputPortBinding]]
valor predefinido: None

Uma lista de enlaces de portas de saída

metrics_output
Union[PipelineData, DataReference, OutputPortBinding]
valor predefinido: None

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

allow_reuse
bool
valor predefinido: True

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
str
valor predefinido: None

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

name
str
Necessário

[Obrigatório] O nome do passo.

hyperdrive_config
HyperDriveConfig
Necessário

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

estimator_entry_script_arguments
list
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.

outputs
list[Union[PipelineData, PipelineOutputAbstractDataset, OutputPortBinding]]
Necessário

Uma lista de enlaces de portas de saída.

metrics_output
Union[PipelineData, DataReference, OutputPortBinding]
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
bool
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
str
Necessário

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

graph
Graph
Necessário

O objeto de gráfico ao que adicionar o nó.

default_datastore
Union[AbstractAzureStorageDatastore, AzureDataLakeDatastore]
Necessário

O arquivo de dados predefinido.

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

O contexto do gráfico.

Devoluções

O nó criado.

Tipo de retorno