PipelineParameter Classe
Define um parâmetro em uma execução de pipeline.
Use PipelineParameters para criar pipelines versáteis que podem ser reenviados mais tarde com valores de parâmetro variados.
Inicializar parâmetros de pipeline.
- Herança
-
builtins.objectPipelineParameter
Construtor
PipelineParameter(name, default_value)
Parâmetros
Nome | Description |
---|---|
name
Obrigatório
|
O nome do parâmetro de pipeline. |
default_value
Obrigatório
|
O valor padrão do parâmetro de pipeline. |
name
Obrigatório
|
O nome do parâmetro de pipeline. |
default_value
Obrigatório
|
O valor padrão do parâmetro de pipeline. |
Comentários
PipelineParameters pode ser adicionado a qualquer etapa ao criar um pipeline. Quando o pipeline é enviado, os valores desses parâmetros podem ser especificados.
Confira o seguinte exemplo de como adicionar um PipelineParameter a uma etapa:
from azureml.pipeline.steps import PythonScriptStep
from azureml.pipeline.core import PipelineParameter
pipeline_param = PipelineParameter(name="pipeline_arg", default_value="default_val")
train_step = PythonScriptStep(script_name="train.py",
arguments=["--param1", pipeline_param],
target=compute_target,
source_directory=project_folder)
Neste exemplo, um PipelineParameter com o nome "pipeline_arg" foi adicionado aos argumentos de um PythonScriptStep. Quando o script Python for executado, o valor do PipelineParameter será fornecido por meio dos argumentos de linha de comando. Esse PipelineParameter também pode ser adicionado a outras etapas no pipeline para fornecer valores comuns a várias etapas no pipeline. Os pipelines podem ter vários PipelineParameters especificados.
Para enviar esse pipeline e especificar o valor para o uso do PipelineParameter "pipeline_arg":
pipeline = Pipeline(workspace=ws, steps=[train_step])
pipeline_run = Experiment(ws, 'train').submit(pipeline, pipeline_parameters={"pipeline_arg": "test_value"})
Observação: se "pipeline_arg" não tiver sido especificado no dicionário pipeline_parameters, o valor padrão do PipelineParameter fornecido quando o pipeline foi criado será usado (nesse caso, o valor padrão fornecido foi "default_val").
Parâmetros de várias linhas não podem ser usados como PipelineParameters.
PipelineParameters também pode ser usado com DataPath e DataPathComputeBinding para especificar entradas de etapa. Isso permite que um pipeline seja executado com dados de entrada variados.
Um exemplo de como usar DataPath com PipelineParameters é o seguinte:
from azureml.core.datastore import Datastore
from azureml.data.datapath import DataPath, DataPathComputeBinding
from azureml.pipeline.steps import PythonScriptStep
from azureml.pipeline.core import PipelineParameter
datastore = Datastore(workspace=workspace, name="workspaceblobstore")
datapath = DataPath(datastore=datastore, path_on_datastore='input_data')
data_path_pipeline_param = (PipelineParameter(name="input_data", default_value=datapath),
DataPathComputeBinding(mode='mount'))
train_step = PythonScriptStep(script_name="train.py",
arguments=["--input", data_path_pipeline_param],
inputs=[data_path_pipeline_param],
compute_target=compute_target,
source_directory=project_folder)
Nesse caso, o valor padrão do parâmetro "input_data" faz referência a um arquivo no "workspaceblobstore" chamado "input_data". Se o pipeline for enviado sem especificar um valor para esse PipelineParameter, o valor padrão será usado. Para enviar esse pipeline e especificar o valor para o uso do PipelineParameter "input_data":
from azureml.pipeline.core import Pipeline
from azureml.data.datapath import DataPath
pipeline = Pipeline(workspace=ws, steps=[train_step])
new_data_path = DataPath(datastore=datastore, path_on_datastore='new_input_data')
pipeline_run = experiment.submit(pipeline,
pipeline_parameters={"input_data": new_data_path})