Поделиться через


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
Обязательно
str

Описание конвейера.

default_datastore
Обязательно

Хранилище данных по умолчанию, используемое для подключений к данным.

default_source_directory
Обязательно
str

Каталог скриптов по умолчанию для шагов, которые выполняют скрипт.

resolve_closure
Обязательно

Следует ли разрешать закрытие или нет (автоматически выполнять зависимые действия).

workspace
Обязательно

Рабочая область для отправки конвейера.

steps
Обязательно

Список шагов, выполняемых в рамках конвейера.

description
Обязательно
str

Описание конвейера.

default_datastore
Обязательно

Хранилище данных по умолчанию, используемое для подключений к данным.

default_source_directory
Обязательно
str

Каталог скриптов по умолчанию для шагов, которые выполняют скрипт.

resolve_closure
Обязательно

Указывает, разрешено ли закрытие или нет (автоматически принести зависимые шаги).

_workflow_provider
Обязательно
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>

Поставщик рабочих процессов, если он создан.

_service_endpoint
Обязательно
str

Конечная точка службы, если она определена с помощью рабочей области.

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
Обязательно
str

Файл YAML, описывающий конвейер.

_workflow_provider
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>

Поставщик рабочих процессов.

Default value: None
_service_endpoint
str

Конечная точка службы, если нет, определяется с помощью рабочей области.

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
str

Имя опубликованного конвейера.

Default value: None
description
str

Описание опубликованного конвейера.

Default value: None
version
str

Версия опубликованного конвейера.

Default value: None
continue_on_step_failure

Указывает, следует ли продолжить выполнение других шагов в PipelineRun, если шаг завершается ошибкой; Значение по умолчанию — false. Если значение True, выполнение будет продолжаться только в том случае, если действие не зависит от выходных данных неудачного шага.

Default value: None

Возвращаемое значение

Тип Описание

Создан опубликованный конвейер.

service_endpoint

Получите конечную точку службы, связанную с конвейером.

service_endpoint()

Возвращаемое значение

Тип Описание
str

Конечная точка службы.

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
Обязательно
str

Имя эксперимента для отправки конвейера.

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
str

Необязательный идентификатор выполнения, заданный для родительского запуска этого конвейера, который отражается в RunHistory. Родительский запуск должен принадлежать тому же эксперименту, в который отправляется этот конвейер.

Default value: None
credential_passthrough

Необязательный параметр, если этот флаг включен, задание удаленного конвейера будет использовать учетные данные пользователя, инициирующего задание. Эта функция доступна только в частной предварительной версии.

Default value: None

Возвращаемое значение

Тип Описание

Запуск отправленного конвейера.

validate

Проверьте конвейер и определите потенциальные ошибки, такие как несвязанные входные данные.

validate()

Возвращаемое значение

Тип Описание

Список ошибок в конвейере.

Комментарии

Примеры ошибок проверки:

  • отсутствующие или непредвиденные источники данных конвейера или типы шагов

  • отсутствующие параметры или определения выходных данных для источника данных конвейера или шага

  • несоединенные входные данные

  • Этапы конвейера, которые образуют цикл или цикл

Если проверка проходит (возвращает пустой список) и конвейер не работает, просмотрите конвейер отладки и устранения неполадок конвейеров машинного обучения.

Атрибуты

graph

Получение графа, связанного с конвейером. Шаги и входные данные отображаются в виде узлов в графе.

Возвращаемое значение

Тип Описание

Граф.