HyperDriveStep Classe
Cria uma etapa de Pipeline do Azure ML para executar o ajuste de hiperparâmetro para treinamento de modelo de Machine Learning.
Para obter um exemplo de uso do HyperDriveStep, consulte o notebook https://aka.ms/pl-hyperdrive.
Crie uma etapa do Pipeline do Azure ML para executar o ajuste de hiperparâmetro para treinamento de modelo 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
- hyperdrive_config
- HyperDriveConfig
[Obrigatório] Um HyperDriveConfig que define a configuração para a execução do HyperDrive.
- estimator_entry_script_arguments
- list
Uma lista de argumentos de linha de comando para o script de entrada do avaliador. Se o script de entrada do Avaliador não aceitar os argumentos de linha de comando, defina esse valor de parâmetro como uma lista vazia.
- inputs
- list[Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference, PortDataReference, PipelineData, DatasetConsumptionConfig]]
Uma lista de vinculações de porta de entrada.
- outputs
- list[Union[PipelineData, OutputDatasetConfig, PipelineOutputAbstractDataset, OutputPortBinding]]
Uma lista de associações de porta de saída
- metrics_output
- Union[PipelineData, DataReference, OutputPortBinding]
Valor opcional que especifica o local para armazenar as métricas de execução do HyperDrive como um arquivo JSON.
- allow_reuse
- bool
Indica se a etapa deve ou não reutilizar os resultados anteriores quando executada novamente com as mesmas configurações. A reutilização está habilitada por padrão. Se o conteúdo da etapa (scripts/dependências), as entradas e os parâmetros permanecerem inalterados, será reutilizada a saída da execução anterior dessa etapa. Ao reutilizar a etapa, em vez de enviar o trabalho para computação, os resultados da execução anterior serão disponibilizados imediatamente para etapas posteriores. Se você usar conjuntos de dados do Azure Machine Learning como entradas, a reutilização será determinada dependendo de ter havido ou não alteração da definição do conjunto de dados, não de ter havido alteração dos dados subjacentes.
- version
- str
Uma marca de versão opcional para denotar uma alteração na funcionalidade do módulo.
- hyperdrive_config
- HyperDriveConfig
[Obrigatório] Um HyperDriveConfig que define a configuração para a execução do HyperDrive.
- estimator_entry_script_arguments
- list
Uma lista de argumentos de linha de comando para o script de entrada do avaliador. Se o script de entrada do Avaliador não aceitar os argumentos de linha de comando, defina esse valor de parâmetro como uma lista vazia.
- inputs
- list[Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference, PortDataReference, PipelineData, DatasetConsumptionConfig]]
Uma lista de vinculações de porta de entrada.
Uma lista de vinculações de porta de saída.
- metrics_output
- Union[PipelineData, DataReference, OutputPortBinding]
Um valor opcional que especifica o local para armazenar as métricas de execução do HyperDrive como um arquivo JSON.
- allow_reuse
- bool
Indica se a etapa deve ou não reutilizar os resultados anteriores quando executada novamente com as mesmas configurações. A reutilização está habilitada por padrão. Se o conteúdo da etapa (scripts/dependências), as entradas e os parâmetros permanecerem inalterados, será reutilizada a saída da execução anterior dessa etapa. Ao reutilizar a etapa, em vez de enviar o trabalho para computação, os resultados da execução anterior serão disponibilizados imediatamente para etapas posteriores. Se você usar conjuntos de dados do Azure Machine Learning como entradas, a reutilização será determinada dependendo de ter havido ou não alteração na definição do conjunto de dados, não de ter havido alteração nos dados subjacentes.
Comentários
Observe que os argumentos para o script de entrada usado no objeto avaliador (por exemplo, o objeto TensorFlow) devem ser especificados como lista usando o parâmetro estimator_entry_script_arguments
ao instanciar um HyperDriveStep. O parâmetro avaliador script_params
aceita um dicionário. No entanto, o parâmetro estimator_entry_script_argument
espera argumentos como uma lista.
A inicialização do HyperDriveStep envolve a especificação de uma lista de objetos DataReference com o parâmetro inputs
. No Azure ML Pipelines, uma etapa de pipeline pode usar a saída de outra etapa ou objetos DataReference como entrada. Portanto, ao criar um HyperDriveStep, os parâmetros inputs
e outputs
devem ser definidos explicitamente, o que substitui o parâmetro inputs
especificado no objeto Avaliador.
A melhor prática para trabalhar com o HyperDriveStep é usar uma pasta separada para scripts e todos os arquivos dependentes associados à etapa, e especificar essa pasta como o objeto estimador source_directory
. Por exemplo, confira o parâmetro source_directory
da classe TensorFlow. Fazer isso traz dois benefícios. Primeiro, ajuda a reduzir o tamanho do instantâneo criado para a etapa porque apenas o que é necessário para a etapa é a captura de instantâneo. Segundo, a saída da etapa de uma execução anterior poderá ser reutilizada se não houver alterações no source_directory
que disparariam um novo upload do instantâneo.
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])
O exemplo completo 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 |
Cria um nó da etapa do HyperDrive e adiciona ao grafo fornecido. Esse método não se destina a ser usado 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 grafo de pipeline que representa o fluxo de trabalho. |
create_node
Cria um nó da etapa do HyperDrive e adiciona ao grafo fornecido.
Esse método não se destina a ser usado 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 grafo de pipeline que representa o fluxo de trabalho.
create_node(graph, default_datastore, context)
Parâmetros
- default_datastore
- Union[AbstractAzureStorageDatastore, AzureDataLakeDatastore]
O armazenamento de dados padrão.
- context
- <xref:azureml.pipeline.core._GraphContext>
O contexto do grafo.
Retornos
O nó criado.
Tipo de retorno
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de