PipelineParameter Klass

Definierar en parameter i en pipelinekörning.

Använd PipelineParameters för att skapa mångsidiga pipelines som kan skickas senare med varierande parametervärden.

Initiera pipelineparametrar.

Arv
builtins.object
PipelineParameter

Konstruktor

PipelineParameter(name, default_value)

Parametrar

name
str
Obligatorisk

Namnet på pipelineparametern.

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

Standardvärdet för pipelineparametern.

name
str
Obligatorisk

Namnet på pipelineparametern.

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

Standardvärdet för pipelineparametern.

Kommentarer

PipelineParameters kan läggas till i alla steg när du skapar en pipeline. När pipelinen skickas kan värdena för dessa parametrar anges.

Ett exempel på hur du lägger till en PipelineParameter i ett steg är följande:


   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)

I det här exemplet lades en PipelineParameter med namnet "pipeline_arg" till i argumenten för ett PythonScriptStep. När Python-skriptet körs anges värdet för PipelineParameter via kommandoradsargumenten. Den här PipelineParametern kan också läggas till i andra steg i pipelinen för att tillhandahålla gemensamma värden för flera steg i pipelinen. Pipelines kan ha flera PipelineParameters angivna.

Skicka pipelinen och ange värdet för pipelineparametern "pipeline_arg":


   pipeline = Pipeline(workspace=ws, steps=[train_step])
   pipeline_run = Experiment(ws, 'train').submit(pipeline, pipeline_parameters={"pipeline_arg": "test_value"})

Obs! Om "pipeline_arg" inte angavs i ordlistan pipeline_parameters används standardvärdet för pipelineparametern som angavs när pipelinen skapades (i det här fallet var standardvärdet "default_val").

Flerradsparametrar kan inte användas som PipelineParameters.

PipelineParameters kan också användas med DataPath och DataPathComputeBinding för att ange stegindata. Detta gör att en pipeline kan köras med varierande indata.

Ett exempel på hur du använder DataPath med PipelineParameters är följande:


   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)

I det här fallet refererar standardvärdet för parametern "input_data" till en fil i "workspaceblobstore" med namnet "input_data". Om pipelinen skickas utan att ange något värde för den här PipelineParametern används standardvärdet. Så här skickar du pipelinen och anger värdet för pipelineparametern "input_data":


   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})