Sdílet prostřednictvím


PipelineParameter Třída

Definuje parametr při provádění kanálu.

Pomocí PipelineParameters můžete vytvořit všestranné kanály, které lze později znovu odeslat s různými hodnotami parametrů.

Inicializace parametrů kanálu

Konstruktor

PipelineParameter(name, default_value)

Parametry

Name Description
name
Vyžadováno
str

Název parametru kanálu.

default_value
Vyžadováno

Výchozí hodnota parametru kanálu.

name
Vyžadováno
str

Název parametru kanálu.

default_value
Vyžadováno

Výchozí hodnota parametru kanálu.

Poznámky

PipelineParameters lze přidat do libovolného kroku při vytváření kanálu. Po odeslání kanálu je možné zadat hodnoty těchto parametrů.

Příklad přidání PipelineParameter do kroku je následující:


   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)

V tomto příkladu byl do argumentů PythonScriptStep přidán parametr PipelineParameter s názvem "pipeline_arg". Při spuštění skriptu Pythonu se hodnota PipelineParameter poskytne prostřednictvím argumentů příkazového řádku. Tento parametr PipelineParameter lze také přidat do dalších kroků v kanálu a poskytnout tak společné hodnoty několika krokům v kanálu. Kanály můžou mít zadaných více parametrů PipelineParameters.

Chcete-li odeslat tento kanál a zadat hodnotu parametru PipelineParameter "pipeline_arg", použijte:


   pipeline = Pipeline(workspace=ws, steps=[train_step])
   pipeline_run = Experiment(ws, 'train').submit(pipeline, pipeline_parameters={"pipeline_arg": "test_value"})

Poznámka: Pokud "pipeline_arg" nebyl zadán ve slovníku pipeline_parameters, použije se výchozí hodnota PipelineParameter poskytnutá při vytváření kanálu (v tomto případě byla zadána výchozí hodnota "default_val").

Víceřádkové parametry nelze použít jako PipelineParameters.

PipelineParameters lze také použít se vstupy DataPath kroku a DataPathComputeBinding zadat je. To umožňuje spuštění kanálu s různými vstupními daty.

Příklad použití dataPathu s PipelineParameters je následující:


   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)

V tomto případě výchozí hodnota parametru "input_data" odkazuje na soubor v "workspaceblobstore" s názvem "input_data". Pokud je kanál odeslán bez zadání hodnoty pro tento PipelineParameter, použije se výchozí hodnota. Chcete-li odeslat tento kanál a zadat hodnotu pro parametr "input_data" PipelineParameter použijte:


   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})