Freigeben über


PipelineParameter Klasse

Definiert einen Parameter in einer Pipelineausführung.

Verwenden Sie PipelineParameters, um vielseitige Pipelines zu erstellen, die später mit unterschiedlichen Parameterwerten erneut übermittelt werden können.

Initialisieren sie Pipelineparameter.

Konstruktor

PipelineParameter(name, default_value)

Parameter

Name Beschreibung
name
Erforderlich
str

Der Name des Pipelineparameters.

default_value
Erforderlich

Der Standardwert des Pipelineparameters.

name
Erforderlich
str

Der Name des Pipelineparameters.

default_value
Erforderlich

Der Standardwert des Pipelineparameters.

Hinweise

PipelineParameters können jedem Schritt beim Erstellen einer Pipeline hinzugefügt werden. Wenn die Pipeline übermittelt wird, können die Werte dieser Parameter angegeben werden.

Ein Beispiel für das Hinzufügen eines PipelineParameter zu einem Schritt lautet wie folgt:


   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)

In diesem Beispiel wurde ein PipelineParameter mit dem Namen "pipeline_arg" zu den Argumenten eines PythonScriptStep hinzugefügt. Wenn das Python-Skript ausgeführt wird, wird der Wert des PipelineParameter über die Befehlszeilenargumente bereitgestellt. Dieser PipelineParameter kann auch anderen Schritten in der Pipeline hinzugefügt werden, um gemeinsame Werte für mehrere Schritte in der Pipeline bereitzustellen. Pipelines können mehrere PipelineParameter angegeben haben.

So übermitteln Sie diese Pipeline und geben den Wert für den PipelineParameter "pipeline_arg" an:


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

Hinweis: Wenn "pipeline_arg" im pipeline_parameters-Wörterbuch nicht angegeben wurde, wird der Standardwert des PipelineParameters verwendet, der beim Erstellen der Pipeline angegeben wurde (in diesem Fall lautete der angegebene Standardwert "default_val").

Mehrzeilige Parameter können nicht als PipelineParameter verwendet werden.

PipelineParameters können auch mit DataPath und DataPathComputeBinding zum Angeben von Schritteingaben verwendet werden. Dadurch kann eine Pipeline mit unterschiedlichen Eingabedaten ausgeführt werden.

Ein Beispiel für die Verwendung von DataPath mit PipelineParameters lautet wie folgt:


   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)

In diesem Fall verweist der Standardwert des Parameters "input_data" auf eine Datei im "workspaceblobstore" mit dem Namen "input_data". Wenn die Pipeline ohne Angabe eines Werts für diesen PipelineParameter übermittelt wird, wird der Standardwert verwendet. So übermitteln Sie diese Pipeline und geben den Wert für den PipelineParameter "input_data" an:


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