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.object
PipelineParameter

Constructor

PipelineParameter(name, default_value)

Parameters

name
str
Vereist

De naam van de pijplijnparameter.

default_value
Union[int, str, bool, float, DataPath, PipelineDataset, FileDataset, TabularDataset]
Vereist

De standaardwaarde van de pijplijnparameter.

name
str
Vereist

De naam van de pijplijnparameter.

default_value
Union[int, str, bool, float, DataPath, PipelineDataset, FileDataset, TabularDataset]
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})