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