PipelineParameter Klas
Definieert een parameter in een pijplijnuitvoering.
Gebruik PipelineParameters om veelzijdige pijplijnen te maken die later opnieuw kunnen worden ingediend met verschillende parameterwaarden.
Pijplijnparameters initialiseren.
- Overname
-
builtins.objectPipelineParameter
Constructor
PipelineParameter(name, default_value)
Parameters
Name | Description |
---|---|
name
Vereist
|
De naam van de pijplijnparameter. |
default_value
Vereist
|
De standaardwaarde van de pijplijnparameter. |
name
Vereist
|
De naam van de pijplijnparameter. |
default_value
Vereist
|
De standaardwaarde van de pijplijnparameter. |
Opmerkingen
PipelineParameters kunnen worden toegevoegd aan elke stap bij het maken van een pijplijn. Wanneer de pijplijn wordt verzonden, kunnen de waarden van deze parameters worden opgegeven.
Een voorbeeld van het toevoegen van een PipelineParameter aan een stap is als volgt:
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 dit voorbeeld is een PipelineParameter met de naam 'pipeline_arg' toegevoegd aan de argumenten van een PythonScriptStep. Wanneer het Python-script wordt uitgevoerd, wordt de waarde van de PipelineParameter opgegeven via de opdrachtregelargumenten. Deze PipelineParameter kan ook worden toegevoegd aan andere stappen in de pijplijn om gemeenschappelijke waarden te bieden voor meerdere stappen in de pijplijn. Pijplijnen kunnen meerdere PipelineParameters hebben opgegeven.
Als u deze pijplijn wilt verzenden en de waarde voor de pijplijnparameter 'pipeline_arg' wilt opgeven, gebruikt u het volgende:
pipeline = Pipeline(workspace=ws, steps=[train_step])
pipeline_run = Experiment(ws, 'train').submit(pipeline, pipeline_parameters={"pipeline_arg": "test_value"})
Opmerking: als 'pipeline_arg' niet is opgegeven in de pipeline_parameters-woordenlijst, wordt de standaardwaarde van de PipelineParameter gebruikt die is opgegeven toen de pijplijn werd gemaakt (in dit geval is de standaardwaarde 'default_val').
Parameters met meerdere regels kunnen niet worden gebruikt als PipelineParameters.
PipelineParameters kunnen ook worden gebruikt met DataPath en DataPathComputeBinding om stapinvoer op te geven. Hierdoor kan een pijplijn worden uitgevoerd met verschillende invoergegevens.
Een voorbeeld van het gebruik van DataPath met PipelineParameters is als volgt:
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 dit geval verwijst de standaardwaarde van de parameter 'input_data' naar een bestand in de 'workspaceblobstore' met de naam 'input_data'. Als de pijplijn wordt verzonden zonder een waarde op te geven voor deze PipelineParameter, wordt de standaardwaarde gebruikt. Als u deze pijplijn wilt verzenden en de waarde voor de pijplijnparameter 'input_data' wilt opgeven, gebruikt u het volgende:
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})