PipelineParameter Classe
Define um parâmetro em uma execução de pipeline.
Use PipelineParameters para construir Pipelines versáteis que podem ser reenviados posteriormente com valores de parâmetros variáveis.
Inicialize os parâmetros do pipeline.
Construtor
PipelineParameter(name, default_value)
Parâmetros
| Name | Description |
|---|---|
|
name
Necessário
|
O nome do parâmetro pipeline. |
|
default_value
Necessário
|
O valor padrão do parâmetro pipeline. |
|
name
Necessário
|
O nome do parâmetro pipeline. |
|
default_value
Necessário
|
O valor padrão do parâmetro pipeline. |
Observações
PipelineParameters pode ser adicionado a qualquer etapa ao construir um Pipeline. Quando o Pipeline é enviado, os valores desses parâmetros podem ser especificados.
Um exemplo de adição de um PipelineParameter a uma etapa é o seguinte:
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 é executado, o valor do PipelineParameter será fornecido através dos argumentos da 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 este Pipeline e especificar o valor para o uso "pipeline_arg" PipelineParameter:
pipeline = Pipeline(workspace=ws, steps=[train_step])
pipeline_run = Experiment(ws, 'train').submit(pipeline, pipeline_parameters={"pipeline_arg": "test_value"})
Nota: se "pipeline_arg" não foi especificado no dicionário pipeline_parameters, o valor padrão do PipelineParameter fornecido quando o Pipeline foi construído seria usado (neste caso, o valor padrão fornecido foi "default_val").
Os 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 variáveis.
Um exemplo de uso de 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 este PipelineParameter, o valor padrão será usado. Para enviar este Pipeline e especificar o valor para o uso "input_data" PipelineParameter:
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})