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
|
Der Name des Pipelineparameters. |
default_value
Erforderlich
|
Der Standardwert des Pipelineparameters. |
name
Erforderlich
|
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})