PipelineParameter Класс
Определяет параметр в выполнении конвейера.
Используйте PipelineParameters для создания универсальных конвейеров, которые можно повторно отправить позже с различными значениями параметров.
Инициализация параметров конвейера.
Конструктор
PipelineParameter(name, default_value)
Параметры
| Имя | Описание |
|---|---|
|
name
Обязательно
|
Имя параметра конвейера. |
|
default_value
Обязательно
|
Значение по умолчанию параметра конвейера. |
|
name
Обязательно
|
Имя параметра конвейера. |
|
default_value
Обязательно
|
Значение по умолчанию параметра конвейера. |
Комментарии
PipelineParameters можно добавить на любой шаг при создании конвейера. При отправке конвейера можно указать значения этих параметров.
Пример добавления PipelineParameter на шаг выглядит следующим образом:
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)
В этом примере конвейерParameter с именем "pipeline_arg" был добавлен в аргументы PythonScriptStep. При запуске скрипта Python значение PipelineParameter будет предоставлено с помощью аргументов командной строки. Этот PipelineParameter также можно добавить к другим шагам в конвейере, чтобы предоставить общие значения для нескольких шагов в конвейере. Конвейеры могут иметь несколько указанных pipelineParameters.
Чтобы отправить этот конвейер и указать значение для использования PipelineParameter "pipeline_arg":
pipeline = Pipeline(workspace=ws, steps=[train_step])
pipeline_run = Experiment(ws, 'train').submit(pipeline, pipeline_parameters={"pipeline_arg": "test_value"})
Примечание. Если параметр "pipeline_arg" не указан в словаре pipeline_parameters, значение по умолчанию конвейера, предоставленное при создании конвейера (в данном случае значение по умолчанию было указано "default_val").
Параметры с несколькими строками нельзя использовать в качестве pipelineParameters.
PipelineParameters также можно использовать для DataPathDataPathComputeBinding указания входных данных шага. Это позволяет запускать конвейер с различными входными данными.
Пример использования DataPath с PipelineParameters выглядит следующим образом:
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)
В этом случае значение по умолчанию параметра "input_data" ссылается на файл в "workspaceblobstore" с именем "input_data". Если конвейер отправляется без указания значения для этого PipelineParameter, будет использоваться значение по умолчанию. Чтобы отправить этот конвейер и указать значение для использования PipelineParameter "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})