Pipeline Класс
Представляет коллекцию шагов, которые можно выполнить как повторно используемый рабочий процесс машинного обучения Azure.
Используйте конвейер для создания рабочих процессов и управления ими, которые объединяют различные этапы машинного обучения. Каждый этап машинного обучения, например подготовка данных и обучение модели, может состоять из одного или нескольких шагов в конвейере.
Общие сведения о том, почему и когда следует использовать конвейеры, см. в разделе https://aka.ms/pl-concept.
Общие сведения о создании конвейера см. в статье https://aka.ms/pl-first-pipeline.
Инициализация конвейера.
Конструктор
Pipeline(workspace, steps, description=None, default_datastore=None, default_source_directory=None, resolve_closure=True, _workflow_provider=None, _service_endpoint=None, **kwargs)
Параметры
| Имя | Описание |
|---|---|
|
workspace
Обязательно
|
Рабочая область для отправки конвейера. |
|
steps
Обязательно
|
Список шагов, выполняемых в рамках конвейера. |
|
description
Обязательно
|
Описание конвейера. |
|
default_datastore
Обязательно
|
Хранилище данных по умолчанию, используемое для подключений к данным. |
|
default_source_directory
Обязательно
|
Каталог скриптов по умолчанию для шагов, которые выполняют скрипт. |
|
resolve_closure
Обязательно
|
Следует ли разрешать закрытие или нет (автоматически выполнять зависимые действия). |
|
workspace
Обязательно
|
Рабочая область для отправки конвейера. |
|
steps
Обязательно
|
Список шагов, выполняемых в рамках конвейера. |
|
description
Обязательно
|
Описание конвейера. |
|
default_datastore
Обязательно
|
Хранилище данных по умолчанию, используемое для подключений к данным. |
|
default_source_directory
Обязательно
|
Каталог скриптов по умолчанию для шагов, которые выполняют скрипт. |
|
resolve_closure
Обязательно
|
Указывает, разрешено ли закрытие или нет (автоматически принести зависимые шаги). |
|
_workflow_provider
Обязательно
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
Поставщик рабочих процессов, если он создан. |
|
_service_endpoint
Обязательно
|
Конечная точка службы, если она определена с помощью рабочей области. |
|
kwargs
Обязательно
|
Пользовательские аргументы ключевых слов, зарезервированные для будущего разработки |
Комментарии
Конвейер создается со списком шагов и рабочей областью. Существует ряд типов шагов, которые можно использовать в конвейере. Вы выберете тип шага на основе сценария машинного обучения.
Конвейеры машинного обучения Azure предоставляют встроенные шаги для распространенных сценариев. Предварительно созданные шаги, производные от PipelineStep, — это шаги, которые используются в одном конвейере. Примеры см. в пакете stepsAutoMLStep и классе.
Если рабочий процесс машинного обучения используется для создания шагов, которые могут быть версии и использованы в разных конвейерах, используйте функции в модуле Module .
Отправка конвейера с помощью submit. При вызове отправки создается объект, который, в свою очередь, PipelineRun создает StepRun объекты для каждого шага рабочего процесса. Используйте эти объекты для мониторинга выполнения выполнения.
Ниже приведен пример отправки конвейера.
from azureml.pipeline.core import Pipeline
pipeline = Pipeline(workspace=ws, steps=steps)
pipeline_run = experiment.submit(pipeline)
Существует ряд необязательных параметров для конвейера, который можно указать при отправке в .submit
continue_on_step_failure: следует ли продолжать выполнение конвейера при сбое шага; Значение по умолчанию — False. Если значение True, выполнение будет продолжаться только в том случае, если действие не зависит от выходных данных неудачного шага.
regenerate_outputs. Следует ли принудительно выполнить повторное восстановление всех выходных данных шага и запретить повторное использование данных для этого запуска, значение по умолчанию — False.
pipeline_parameters: параметры для выполнения конвейера, словарь {name: value}. Дополнительные сведения см. в PipelineParameter.
parent_run_id. Вы можете указать идентификатор запуска, чтобы задать родительский запуск этого запуска конвейера, который отражается в RunHistory. Родительское выполнение должно относиться к тому же эксперименту, в который отправляется этот конвейер.
Пример отправки конвейера с помощью этих параметров выглядит следующим образом:
from azureml.pipeline.core import Pipeline
pipeline = Pipeline(workspace=ws, steps=steps)
pipeline_run = experiment.submit(pipeline,
continue_on_step_failure=True,
regenerate_outputs=True,
pipeline_parameters={"param1": "value1"},
parent_run_id="<run_id>")
Методы
| load_yaml |
Загрузите конвейер из указанного ФАЙЛА YAML. Файл YAML можно использовать для описания конвейера, состоящего из модулейSteps. |
| publish |
Опубликуйте конвейер и сделайте его доступным для повторного запуска. После публикации конвейера его можно отправить без кода Python, который создал конвейер. Возвращает созданный PublishedPipelineобъект. |
| service_endpoint |
Получите конечную точку службы, связанную с конвейером. |
| submit |
Отправка запуска конвейера. Это эквивалентно использованию submit. Возвращает отправленный PipelineRunобъект. Используйте этот объект для мониторинга и просмотра сведений о выполнении. |
| validate |
Проверьте конвейер и определите потенциальные ошибки, такие как несвязанные входные данные. |
load_yaml
Загрузите конвейер из указанного ФАЙЛА YAML.
Файл YAML можно использовать для описания конвейера, состоящего из модулейSteps.
static load_yaml(workspace, filename, _workflow_provider=None, _service_endpoint=None)
Параметры
| Имя | Описание |
|---|---|
|
workspace
Обязательно
|
Рабочая область для отправки конвейера. |
|
filename
Обязательно
|
Файл YAML, описывающий конвейер. |
|
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
Поставщик рабочих процессов. Default value: None
|
|
_service_endpoint
|
Конечная точка службы, если нет, определяется с помощью рабочей области. Default value: None
|
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Созданный конвейер. |
Комментарии
Ниже приведен пример YAML-файла. YAML содержит имя, default_compute и списки параметров, ссылок на данные и шаги конвейера. Каждый шаг должен указывать модули, вычисления и параметры, входные и выходные привязки. Кроме того, при необходимости можно указать шаг runconfig и аргументы.
Пример файла Yaml:
pipeline:
description: SamplePipelineFromYaml
parameters:
NumIterationsParameter:
type: int
default: 40
DataPathParameter:
type: datapath
default:
datastore: workspaceblobstore
path_on_datastore: sample2.txt
NodeCountParameter:
type: int
default: 4
data_references:
DataReference:
datastore: workspaceblobstore
path_on_datastore: testfolder/sample.txt
Dataset:
dataset_name: 'titanic'
default_compute: aml-compute
steps:
PrepareStep:
type: ModuleStep
name: "TestModule"
compute: aml-compute2
runconfig: 'D:\.azureml\default_runconfig.yml'
arguments:
-'--input1'
-input:in1
-'--input2'
-input:in2
-'--input3'
-input:in3
-'--output'
-output:output_data
-'--param'
-parameter:NUM_ITERATIONS
parameters:
NUM_ITERATIONS:
source: NumIterationsParameter
inputs:
in1:
source: Dataset
bind_mode: mount
in2:
source: DataReference
in3:
source: DataPathParameter
outputs:
output_data:
destination: Output1
datastore: workspaceblobstore
bind_mode: mount
TrainStep:
type: ModuleStep
name: "TestModule2"
version: "2"
runconfig: 'D:\.azureml\default_runconfig.yml'
arguments:
-'--input'
-input:train_input
-'--output'
-output:result
-'--param'
-parameter:NUM_ITERATIONS
parameters:
NUM_ITERATIONS: 10
runconfig_parameters:
NodeCount:
source: NodeCountParameter
inputs:
train_input:
source: Output1
bind_mode: mount
outputs:
result:
destination: Output2
datastore: workspaceblobstore
bind_mode: mount
publish
Опубликуйте конвейер и сделайте его доступным для повторного запуска.
После публикации конвейера его можно отправить без кода Python, который создал конвейер. Возвращает созданный PublishedPipelineобъект.
publish(name=None, description=None, version=None, continue_on_step_failure=None)
Параметры
| Имя | Описание |
|---|---|
|
name
|
Имя опубликованного конвейера. Default value: None
|
|
description
|
Описание опубликованного конвейера. Default value: None
|
|
version
|
Версия опубликованного конвейера. Default value: None
|
|
continue_on_step_failure
|
Указывает, следует ли продолжить выполнение других шагов в PipelineRun, если шаг завершается ошибкой; Значение по умолчанию — false. Если значение True, выполнение будет продолжаться только в том случае, если действие не зависит от выходных данных неудачного шага. Default value: None
|
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Создан опубликованный конвейер. |
service_endpoint
Получите конечную точку службы, связанную с конвейером.
service_endpoint()
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Конечная точка службы. |
submit
Отправка запуска конвейера. Это эквивалентно использованию submit.
Возвращает отправленный PipelineRunобъект. Используйте этот объект для мониторинга и просмотра сведений о выполнении.
submit(experiment_name, pipeline_parameters=None, continue_on_step_failure=False, regenerate_outputs=False, parent_run_id=None, credential_passthrough=None, **kwargs)
Параметры
| Имя | Описание |
|---|---|
|
experiment_name
Обязательно
|
Имя эксперимента для отправки конвейера. |
|
pipeline_parameters
|
Параметры для выполнения конвейера, словарь {name: value}. Дополнительные сведения см. в PipelineParameter. Default value: None
|
|
continue_on_step_failure
|
Указывает, следует ли продолжить выполнение конвейера, если шаг завершается сбоем. Если значение True, выполнение будет продолжаться только в том случае, если действие не зависит от выходных данных неудачного шага. Default value: False
|
|
regenerate_outputs
|
Указывает, следует ли принудительно выполнить повторное восстановление всех выходных данных шага и запретить повторное использование данных для этого запуска. Если значение false, этот запуск может повторно использовать результаты предыдущих запусков, а последующие запуски могут повторно использовать результаты выполнения. Default value: False
|
|
parent_run_id
|
Необязательный идентификатор выполнения, заданный для родительского запуска этого конвейера, который отражается в RunHistory. Родительский запуск должен принадлежать тому же эксперименту, в который отправляется этот конвейер. Default value: None
|
|
credential_passthrough
|
Необязательный параметр, если этот флаг включен, задание удаленного конвейера будет использовать учетные данные пользователя, инициирующего задание. Эта функция доступна только в частной предварительной версии. Default value: None
|
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Запуск отправленного конвейера. |
validate
Проверьте конвейер и определите потенциальные ошибки, такие как несвязанные входные данные.
validate()
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Список ошибок в конвейере. |
Комментарии
Примеры ошибок проверки:
отсутствующие или непредвиденные источники данных конвейера или типы шагов
отсутствующие параметры или определения выходных данных для источника данных конвейера или шага
несоединенные входные данные
Этапы конвейера, которые образуют цикл или цикл
Если проверка проходит (возвращает пустой список) и конвейер не работает, просмотрите конвейер отладки и устранения неполадок конвейеров машинного обучения.
Атрибуты
graph
Получение графа, связанного с конвейером. Шаги и входные данные отображаются в виде узлов в графе.
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Граф. |