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.objectPipelineParameter
Konstruktor
PipelineParameter(name, default_value)
Parameter
Name | Beschreibung |
---|---|
name
Erforderlich
|
Der Name des Pipelineparameters. |
default_value
Erforderlich
|
Der Standardwert des Pipeline-Parameters. |
name
Erforderlich
|
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})