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
|
[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
|
list[Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference, PortDataReference, PipelineData, DatasetConsumptionConfig]]
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
|
Uma tag de versão opcional para indicar uma alteração na funcionalidade do módulo. Default value: None
|
|
name
Necessário
|
[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
|
list[Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference, PortDataReference, PipelineData, DatasetConsumptionConfig]]
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
|
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. |