Freigeben über


PipelineParameter Klasse

Definiert einen Parameter in einer Pipelineausführung.

PipelineParameter dienen zum Erstellen vielseitiger Pipelines, die später mit variierenden Parameterwerten erneut übermittelt werden können.

Initialisieren Sie Pipelineparameter.

Vererbung
builtins.object
PipelineParameter

Konstruktor

PipelineParameter(name, default_value)

Parameter

Name Beschreibung
name
Erforderlich
str

Der Name des Pipelineparameters.

default_value
Erforderlich

Der Standardwert des Pipeline-Parameters.

name
Erforderlich
str

Der Name des Pipelineparameters.

default_value
Erforderlich

Der Standardwert des Pipeline-Parameters.

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 PipelineParameters zu einem Schritt ist das Folgende:


   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 den Argumenten eines PythonScriptStep ein PipelineParameter mit dem Namen „pipeline_arg" hinzugefügt. Wenn das Python-Skript ausgeführt wird, wird der Wert von PipelineParameter über die Befehlszeilenargumente bereitgestellt. Dieser PipelineParameter kann auch zu anderen Schritten in der Pipeline hinzugefügt werden, um allgemeine Werte für mehrere Schritte in der Pipeline zur Verfügung zu stellen. Pipelines können mehrere PipelineParameter angegeben sein.

So übermitteln Sie diese Pipeline und geben den Wert für die 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" nicht im pipeline_parameters-Wörterbuch angegeben wurde, wird der Standardwert von PipelineParameter verwendet, der beim Erstellen der Pipeline angegeben wurde (in diesem Fall war der bereitgestellte Standardwert „default_val").

Mehrzeilenparameter können nicht als PipelineParameters verwendet werden.

PipelineParameters kann auch mit DataPath und DataPathComputeBinding verwendet werden, um Schritteingaben anzugeben. Dadurch kann eine Pipeline mit unterschiedlichen Eingabedaten ausgeführt werden.

Ein Beispiel für die Verwendung von DataPath mit PipelineParameters ist:


   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 „input_data"-Parameters auf eine Datei im „workspaceblobstore" mit dem Namen „input_data". Wenn die Pipeline übermittelt wird, ohne einen Wert für diesen PipelineParameter anzugeben, wird der Standardwert verwendet. So übermitteln Sie diese Pipeline und geben den Wert für die 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})