PipelineStep Класс
Представляет шаг выполнения в конвейере машинного обучения Azure.
Конвейеры создаются на основе нескольких шагов конвейера, которые являются отдельными вычислительными единицами в конвейере. Каждый шаг может выполняться независимо и использовать изолированные вычислительные ресурсы. Каждый шаг обычно имеет собственные именованные входные данные, выходные данные и параметры.
Класс PipelineStep — это базовый класс, из которого наследуются другие встроенные классы шагов, предназначенные для распространенных сценариев, таких как PythonScriptStep, DataTransferStepи HyperDriveStep.
Общие сведения о том, как связаны конвейеры и pipelineSteps, см. в разделе "Что такое конвейеры машинного обучения".
Инициализация PipelineStep.
Конструктор
PipelineStep(name, inputs, outputs, arguments=None, fix_port_name_collisions=False, resource_inputs=None)
Параметры
| Имя | Описание |
|---|---|
|
name
Обязательно
|
Имя шага конвейера. |
|
inputs
Обязательно
|
Список входных данных шага. |
|
outputs
Обязательно
|
Список выходных данных шага. |
|
arguments
|
Необязательный список аргументов для передачи скрипту, используемому на шаге. Default value: None
|
|
fix_port_name_collisions
|
Указывает, следует ли устранять столкновения имен. Если значение True и входные и выходные данные имеют то же имя, входные данные префиксируются с именем INPUT. Значение по умолчанию — False. Default value: False
|
|
resource_inputs
|
Необязательный список входных данных, используемых в качестве ресурсов. Ресурсы скачиваются в папку скрипта и предоставляют способ изменения поведения скрипта во время выполнения. Default value: None
|
|
name
Обязательно
|
Имя шага конвейера. |
|
inputs
Обязательно
|
Список входных данных шага. |
|
outputs
Обязательно
|
Список выходных данных шага. |
|
arguments
Обязательно
|
Необязательный список аргументов для передачи скрипту, используемому на шаге. |
|
fix_port_name_collisions
Обязательно
|
Указывает, следует ли устранять столкновения имен. Если значение True и входные и выходные данные имеют то же имя, входные данные префиксируются с именем INPUT. Значение по умолчанию — False. |
|
resource_inputs
Обязательно
|
Необязательный список входных данных, используемых в качестве ресурсов. Ресурсы скачиваются в папку скрипта и предоставляют способ изменения поведения скрипта во время выполнения. |
Комментарии
PipelineStep — это единица выполнения, которая обычно нуждается в целевом объекте выполнения (целевом объекте вычислений), скрипте для выполнения с необязательными аргументами и входными данными скрипта и может производить выходные данные. Этот шаг также может принять ряд других параметров, относящихся к шагу.
Шаги конвейера можно настроить вместе для создания Pipeline, который представляет общий и многократно используемый рабочий процесс машинного обучения Azure. Каждый шаг конвейера можно настроить для повторного использования предыдущих результатов выполнения, если содержимое шага (скрипты или зависимости), а также входные и параметры остаются неизменными. При повторном использовании шага вместо отправки задания на вычисление результаты предыдущего запуска немедленно становятся доступными для всех последующих шагов.
Конвейеры машинного обучения Azure предоставляют встроенные шаги для распространенных сценариев. Примеры см. в пакете stepsAutoMLStep и классе. Общие сведения о создании конвейера на основе предварительно созданных шагов см. в статье https://aka.ms/pl-first-pipeline.
Предварительно созданные шаги, производные от PipelineStep, — это шаги, которые используются в одном конвейере. Если рабочий процесс машинного обучения используется для создания шагов, которые могут быть версии и использованы в разных конвейерах, используйте Module класс.
Помните следующее при работе с шагами конвейера, входными и выходными данными и повторное использование шагов.
Рекомендуется использовать отдельные source_directory расположения для отдельных шагов. Если все скрипты в шагах конвейера находятся в одном каталоге, хэш этого каталога изменяется каждый раз, когда вы вносите изменения в один скрипт, заставляя все шаги повторно выполняться. Пример использования отдельных каталогов для различных шагов см. в разделе https://aka.ms/pl-get-started.
Обслуживание отдельных папок для сценариев и зависимых файлов для каждого шага помогает уменьшить размер моментального снимка, созданного для каждого шага, так как только определенная папка будет моментальным снимком. Так как изменения в любых файлах в source_directory шага активируют повторную отправку моментального снимка, сохраняя отдельные папки каждого шага, помогает повторно использовать шаги в конвейере, так как при отсутствии изменений в source_directory шага предыдущий запуск повторно используется.
Если данные, используемые на шаге, находится в хранилище данных и allow_reuse имеет значение True, изменения изменения данных не будут обнаружены. Если данные передаются как часть моментального снимка (в source_directory шага), хотя это не рекомендуется, хэш изменится и запустит повторное выполнение.
Методы
| create_input_output_bindings |
Создайте входные и выходные привязки из входных и выходных данных шага. |
| create_module_def |
Создайте объект определения модуля, описывающий шаг. |
| create_node |
Создайте узел для графа конвейера на основе этого шага. |
| get_source_directory |
Получите исходный каталог для шага и убедитесь, что скрипт существует. |
| resolve_input_arguments |
Сопоставляйте входные и выходные данные с аргументами для создания строки аргументов. |
| run_after |
Выполните этот шаг после указанного шага. |
| validate_arguments |
Убедитесь, что входные и выходные данные шага, предоставленные в аргументах, находятся в списках входных и выходных данных. |
create_input_output_bindings
Создайте входные и выходные привязки из входных и выходных данных шага.
create_input_output_bindings(inputs, outputs, default_datastore, resource_inputs=None)
Параметры
| Имя | Описание |
|---|---|
|
inputs
Обязательно
|
Список входных данных шага. |
|
outputs
Обязательно
|
Список выходных данных шага. |
|
default_datastore
Обязательно
|
Хранилище данных по умолчанию. |
|
resource_inputs
|
Список входных данных, используемых в качестве ресурсов. Ресурсы скачиваются в папку скрипта и предоставляют способ изменения поведения скрипта во время выполнения. Default value: None
|
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Кортеж входных привязок и выходных привязок. |
create_module_def
Создайте объект определения модуля, описывающий шаг.
create_module_def(execution_type, input_bindings, output_bindings, param_defs=None, create_sequencing_ports=True, allow_reuse=True, version=None, module_type=None, arguments=None, runconfig=None, cloud_settings=None)
Параметры
| Имя | Описание |
|---|---|
|
execution_type
Обязательно
|
Тип выполнения модуля. |
|
input_bindings
Обязательно
|
Входные привязки шага. |
|
output_bindings
Обязательно
|
Выходные привязки шага. |
|
param_defs
|
Определения параметров шага. Default value: None
|
|
create_sequencing_ports
|
Указывает, будут ли созданы для модуля порты последовательности. Default value: True
|
|
allow_reuse
|
Указывает, будет ли модуль доступен для повторного использования в будущих конвейерах. Default value: True
|
|
version
|
Версия модуля. Default value: None
|
|
module_type
|
Тип модуля для создаваемой службы создания модуля. В настоящее время поддерживаются только два типа: None и BatchInferencing.
Default value: None
|
|
arguments
|
Список аннотированных аргументов, используемых при вызове этого модуля Default value: None
|
|
runconfig
|
Runconfig, который будет использоваться для python_script_step Default value: None
|
|
cloud_settings
|
<xref:azureml.pipeline.core._restclients.aeva.models.CloudSettings>
Параметры, которые будут использоваться для облаков Default value: None
|
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Объект определения модуля. |
create_node
Создайте узел для графа конвейера на основе этого шага.
abstract create_node(graph, default_datastore, context)
Параметры
| Имя | Описание |
|---|---|
|
graph
Обязательно
|
Граф, в который нужно добавить узел. |
|
default_datastore
Обязательно
|
Хранилище данных по умолчанию, используемое для этого шага. |
|
context
Обязательно
|
<xref:azureml.pipeline.core._GraphContext>
Объект контекста графа. |
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Созданный узел. |
get_source_directory
Получите исходный каталог для шага и убедитесь, что скрипт существует.
get_source_directory(context, source_directory, script_name)
Параметры
| Имя | Описание |
|---|---|
|
context
Обязательно
|
<xref:azureml.pipeline.core._GraphContext>
Объект контекста графа. |
|
source_directory
Обязательно
|
Исходный каталог для шага. |
|
script_name
Обязательно
|
Имя скрипта для шага. |
|
hash_paths
Обязательно
|
Хэш-пути, используемые при определении отпечатка пальца модуля. |
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Исходный каталог и хэш-пути. |
resolve_input_arguments
Сопоставляйте входные и выходные данные с аргументами для создания строки аргументов.
static resolve_input_arguments(arguments, inputs, outputs, params)
Параметры
| Имя | Описание |
|---|---|
|
arguments
Обязательно
|
Список аргументов шага. |
|
inputs
Обязательно
|
Список входных данных шага. |
|
outputs
Обязательно
|
Список выходных данных шага. |
|
params
Обязательно
|
Список параметров шага. |
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Возвращает кортеж двух элементов. Первым является плоский список элементов для разрешенных аргументов. Второй — это список структурированных аргументов (_InputArgument, _OutputArgument, _ParameterArgument и _StringArgument). |
run_after
Выполните этот шаг после указанного шага.
run_after(step)
Параметры
| Имя | Описание |
|---|---|
|
step
Обязательно
|
Шаг конвейера, который необходимо выполнить перед этим шагом. |
Комментарии
Если вы хотите выполнить шаг, например, шаг 3 после завершения шага 1 и шага2, можно использовать следующее:
step3.run_after(step1)
step3.run_after(step2)
validate_arguments
Убедитесь, что входные и выходные данные шага, предоставленные в аргументах, находятся в списках входных и выходных данных.
static validate_arguments(arguments, inputs, outputs)
Параметры
| Имя | Описание |
|---|---|
|
arguments
Обязательно
|
Список аргументов шага. |
|
inputs
Обязательно
|
Список входных данных шага. |
|
outputs
Обязательно
|
Список выходных данных шага. |