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


ParallelRunStep Класс

Создает шаг конвейера машинного обучения Azure для асинхронной обработки больших объемов данных и параллельно.

Пример использования ParallelRunStep см. в записной книжке https://aka.ms/batch-inference-notebooks.

Руководство по устранению неполадок см. в разделе https://aka.ms/prstsg. Здесь можно найти дополнительные ссылки.

Создайте шаг конвейера машинного обучения Azure для асинхронной обработки больших объемов данных и параллельно.

Пример использования ParallelRunStep см. по ссылке https://aka.ms/batch-inference-notebooksзаписной книжки.

Конструктор

ParallelRunStep(name, parallel_run_config, inputs, output=None, side_inputs=None, arguments=None, allow_reuse=True)

Параметры

Имя Описание
name
Обязательно
str

Имя шага. Должен быть уникальным для рабочей области, состоящий только из строчных букв, чисел или дефисов, начинаться с буквы и иметь длину от 3 до 32 символов.

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

Объект ParallelRunConfig, используемый для определения необходимых свойств выполнения.

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

Список входных наборов данных. Все наборы данных в списке должны иметь одинаковый тип. Входные данные будут секционированы для параллельной обработки. Каждый набор данных в списке секционируется по мини-пакетам отдельно, и каждая из мини-пакетов обрабатывается одинаково в параллельной обработке.

output

Привязка выходного порта может использоваться последующими шагами конвейера.

Default value: None
side_inputs

Список ссылочных данных на стороне. Входные данные на стороне не будут секционированы как входные данные.

Default value: None
arguments

Список аргументов командной строки для передачи в entry_script Python.

Default value: None
allow_reuse

Следует ли выполнить шаг повторно использовать предыдущие результаты при выполнении с теми же параметрами и входными данными. Если это значение равно false, во время выполнения конвейера всегда создается новый запуск.

Default value: True
name
Обязательно
str

Имя шага. Должен быть уникальным для рабочей области, состоящий только из строчных букв, чисел или дефисов, начинаться с буквы и иметь длину от 3 до 32 символов.

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

Объект ParallelRunConfig, используемый для определения необходимых свойств выполнения.

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

Список входных наборов данных. Все наборы данных в списке должны иметь одинаковый тип. Входные данные будут секционированы для параллельной обработки. Каждый набор данных в списке секционируется по мини-пакетам отдельно, и каждая из мини-пакетов обрабатывается одинаково в параллельной обработке.

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

Привязка выходного порта может использоваться последующими шагами конвейера.

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

Список ссылочных данных на стороне. Входные данные на стороне не будут секционированы как входные данные.

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

Список аргументов командной строки для передачи в entry_script Python.

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

Следует ли выполнить шаг повторно использовать предыдущие результаты при выполнении с теми же параметрами и входными данными. Если это значение равно false, во время выполнения конвейера всегда создается новый запуск.

Комментарии

ParallelRunStep можно использовать для параллельной обработки больших объемов данных. Распространенные варианты использования — это обучение модели ML (Машинного обучения) или запуск автономного вывода для создания прогнозов на основе пакета наблюдений. ParallelRunStep работает, разбивая данные на пакеты, которые обрабатываются параллельно. Количество узлов пакета и другие настраиваемые параметры для ускорения параллельной обработки можно контролировать с помощью ParallelRunConfig класса. ParallelRunStep может работать с TabularDataset входными данными или FileDataset как входные данные.

Чтобы использовать ParallelRunStep, необходимо выполнить следующие действия.

  • Создайте объект, чтобы указать, как выполняется пакетная ParallelRunConfig обработка, с параметрами для управления размером пакета, количеством узлов на целевой объект вычислений и ссылкой на настраиваемый скрипт Python.

  • Создайте объект ParallelRunStep, который использует объект ParallelRunConfig. Определите входные и выходные данные для шага.

  • Используйте настроенный объект ParallelRunStep так Pipeline же, как и в других типах шагов конвейера.

Примеры работы с классами ParallelRunStep и ParallelRunConfig для пакетного вывода рассматриваются в следующих статьях:


   from azureml.pipeline.steps import ParallelRunStep, ParallelRunConfig

   parallel_run_config = ParallelRunConfig(
       source_directory=scripts_folder,
       entry_script=script_file,
       mini_batch_size="5",
       error_threshold=10,         # Optional, allowed failed count on mini batch items
       allowed_failed_count=15,    # Optional, allowed failed count on mini batches
       allowed_failed_percent=10,  # Optional, allowed failed percent on mini batches
       output_action="append_row",
       environment=batch_env,
       compute_target=compute_target,
       node_count=2)

   parallelrun_step = ParallelRunStep(
       name="predict-digits-mnist",
       parallel_run_config=parallel_run_config,
       inputs=[ named_mnist_ds ],
       output=output_dir,
       arguments=[ "--extra_arg", "example_value" ],
       allow_reuse=True
   )

Дополнительные сведения об этом примере см. в записной книжке https://aka.ms/batch-inference-notebooks.

Методы

create_module_def

Создайте объект определения модуля, описывающий шаг.

Этот метод не предназначен для непосредственного использования.

create_node

Создайте узел и PythonScriptStep добавьте его в указанный граф.

Этот метод не предназначен для непосредственного использования. При создании экземпляра конвейера с помощью ParallelRunStep Машинное обучение Azure автоматически передает параметры, необходимые для этого метода, чтобы шаг можно было добавить в граф конвейера, представляющий рабочий процесс.

create_module_def

Создайте объект определения модуля, описывающий шаг.

Этот метод не предназначен для непосредственного использования.

create_module_def(execution_type, input_bindings, output_bindings, param_defs=None, create_sequencing_ports=True, allow_reuse=True, version=None, arguments=None)

Параметры

Имя Описание
execution_type
Обязательно
str

Тип выполнения модуля.

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

Входные привязки шага.

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

Выходные привязки шага.

param_defs

Определения параметров шага.

Default value: None
create_sequencing_ports

Если задано значение true, для модуля будут созданы последовательные порты.

Default value: True
allow_reuse

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

Default value: True
version
str

Версия модуля.

Default value: None
arguments

Список аннотированных аргументов, используемых при вызове этого модуля.

Default value: None

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

Тип Описание

Объект def модуля.

create_node

Создайте узел и PythonScriptStep добавьте его в указанный граф.

Этот метод не предназначен для непосредственного использования. При создании экземпляра конвейера с помощью ParallelRunStep Машинное обучение Azure автоматически передает параметры, необходимые для этого метода, чтобы шаг можно было добавить в граф конвейера, представляющий рабочий процесс.

create_node(graph, default_datastore, context)

Параметры

Имя Описание
graph
Обязательно

Объект Graph.

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

Хранилище данных по умолчанию.

context
Обязательно
<xref:azureml.pipeline.core._GraphContext>

Контекст.

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

Тип Описание

Созданный узел.