ParallelRunStep Класс
Создает этап конвейера Машинного обучения Azure для асинхронной и параллельной обработки больших объемов данных.
Пример использования ParallelRunStep приведен в записной книжке: https://aka.ms/batch-inference-notebooks.
Руководство по устранению неполадок приведено в https://aka.ms/prstsg. Там можно найти дополнительные ссылки.
Создайте шаг конвейера Машинного обучения Azure для асинхронной и параллельной обработки больших объемов данных.
Пример использования ParallelRunStep см. по ссылке на записную книжку https://aka.ms/batch-inference-notebooks.
- Наследование
-
azureml.pipeline.core._parallel_run_step_base._ParallelRunStepBaseParallelRunStep
Конструктор
ParallelRunStep(name, parallel_run_config, inputs, output=None, side_inputs=None, arguments=None, allow_reuse=True)
Параметры
- name
- str
Имя этапа. Должно быть уникальным для соответствующей рабочей области, должно состоять только из строчных букв, цифр и дефисов, начинаться с буквы и содержать от 3 до 32 символов.
- parallel_run_config
- ParallelRunConfig
Объект ParallelRunConfig, используемый для определения обязательных свойств запуска.
- inputs
- list[Union[DatasetConsumptionConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset]]
Список входных наборов данных. Все наборы данных в списке должны быть одного типа. Входные данные будут секционированы для параллельной обработки. Каждый набор данных в списке разделяется на мини-пакеты, и каждый из мини-пакетов обрабатывается одинаково в ходе параллельной обработки.
Выходная привязка порта, которая может использоваться в последующих этапах конвейера.
- side_inputs
- list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
Список вспомогательных входных эталонных данных. Вспомогательные входные данные не будут секционированы как входные.
Список аргументов командной строки для передачи скрипту entry_script Python.
- allow_reuse
- bool
Указывает, должен ли шаг повторно использовать предыдущие результаты при запуске с теми же параметрами и входными данными. Если имеет значение False, для этого этапа всегда будет создаваться новое выполнение во время выполнения конвейера.
- name
- str
Имя этапа. Должно быть уникальным для соответствующей рабочей области, должно состоять только из строчных букв, цифр и дефисов, начинаться с буквы и содержать от 3 до 32 символов.
- parallel_run_config
- ParallelRunConfig
Объект ParallelRunConfig, используемый для определения обязательных свойств запуска.
- inputs
- list[Union[DatasetConsumptionConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset]]
Список входных наборов данных. Все наборы данных в списке должны быть одного типа. Входные данные будут секционированы для параллельной обработки. Каждый набор данных в списке разделяется на мини-пакеты, и каждый из мини-пакетов обрабатывается одинаково в ходе параллельной обработки.
- output
- PipelineData, OutputPortBinding
Выходная привязка порта, которая может использоваться в последующих этапах конвейера.
- side_inputs
- list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
Список вспомогательных входных эталонных данных. Вспомогательные входные данные не будут секционированы как входные.
Список аргументов командной строки для передачи скрипту entry_script Python.
- allow_reuse
- bool
Указывает, должен ли шаг повторно использовать предыдущие результаты при запуске с теми же параметрами и входными данными. Если имеет значение False, для этого этапа всегда будет создаваться новое выполнение во время выполнения конвейера.
Комментарии
ParallelRunStep можно использовать для параллельной обработки больших объемов данных. Распространенные варианты использования — это обучение модели ML (Машинного обучения) или запуск автономного вывода для создания прогнозов на основе пакета наблюдений. ParallelRunStep работает, разбивая данные на пакеты, которые обрабатываются параллельно. Размер пакета, количество узлов и другие настраиваемые параметры для ускорения параллельной обработки можно контролировать с помощью класса ParallelRunConfig. ParallelRunStep может работать с TabularDataset или FileDataset в качестве входных данных.
Чтобы использовать ParallelRunStep, необходимо выполнить следующие действия.
Создайте объект ParallelRunConfig, чтобы указать, как выполняется пакетная обработка, с параметрами для управления размером пакета, количеством узлов на целевой объект вычислений и ссылкой на пользовательский скрипт Python.
Создайте объект ParallelRunStep, который использует объект ParallelRunConfig. Определите входные и выходные данные для шага.
Используйте настроенный объект ParallelRunStep в Pipeline так же, как это делается для других типов шагов конвейера.
Примеры работы с классами ParallelRunStep и ParallelRunConfig для вывода пакетов рассматриваются в следующих статьях:
Учебник. Создание конвейеров Машинного обучения Azure для оценки пакета. В этой статье показано, как использовать эти два класса для асинхронной оценки пакета в конвейере и включать конечную точку REST для запуска конвейера.
Запуск пакетного вывода для больших объемов данных с помощью Машинного обучения Azure. В этой статье показано, как обрабатывать большие объемы данных асинхронно и параллельно с помощью пользовательского скрипта вывода и предварительно обученной модели классификации изображений, основанной на наборе данных MNIST.
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)
Параметры
- create_sequencing_ports
- bool
Если задано значение True, для модуля будут созданы порты последовательной обработки.
- allow_reuse
- bool
Если задано значение True, модуль будет доступен для повторного использования в будущих конвейерах.
- arguments
- list
Список аргументов с заметками для использования при вызове этого модуля.
Возвращаемое значение
Объект определения модуля.
Возвращаемый тип
create_node
Создание узла для PythonScriptStep и его добавление в указанный граф.
Данный метод не предназначен для непосредственного использования. При создании экземпляра конвейера с помощью ParallelRunStep Машинное обучение Azure автоматически передает обязательные параметры через этот метод, чтобы данный этап можно было добавить в граф конвейера, представляющий рабочий процесс.
create_node(graph, default_datastore, context)
Параметры
- default_datastore
- AbstractAzureStorageDatastore или AzureDataLakeDatastore
Хранилище данных по умолчанию.
- context
- <xref:azureml.pipeline.core._GraphContext>
Контекст.
Возвращаемое значение
Созданный узел.
Возвращаемый тип
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по