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
Обязательно
|
Имя шага. Должен быть уникальным для рабочей области, состоящий только из строчных букв, чисел или дефисов, начинаться с буквы и иметь длину от 3 до 32 символов. |
|
parallel_run_config
Обязательно
|
Объект ParallelRunConfig, используемый для определения необходимых свойств выполнения. |
|
inputs
Обязательно
|
Список входных наборов данных. Все наборы данных в списке должны иметь одинаковый тип. Входные данные будут секционированы для параллельной обработки. Каждый набор данных в списке секционируется по мини-пакетам отдельно, и каждая из мини-пакетов обрабатывается одинаково в параллельной обработке. |
|
output
|
Привязка выходного порта может использоваться последующими шагами конвейера. Default value: None
|
|
side_inputs
|
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
Список ссылочных данных на стороне. Входные данные на стороне не будут секционированы как входные данные. Default value: None
|
|
arguments
|
Список аргументов командной строки для передачи в entry_script Python. Default value: None
|
|
allow_reuse
|
Следует ли выполнить шаг повторно использовать предыдущие результаты при выполнении с теми же параметрами и входными данными. Если это значение равно false, во время выполнения конвейера всегда создается новый запуск. Default value: True
|
|
name
Обязательно
|
Имя шага. Должен быть уникальным для рабочей области, состоящий только из строчных букв, чисел или дефисов, начинаться с буквы и иметь длину от 3 до 32 символов. |
|
parallel_run_config
Обязательно
|
Объект ParallelRunConfig, используемый для определения необходимых свойств выполнения. |
|
inputs
Обязательно
|
Список входных наборов данных. Все наборы данных в списке должны иметь одинаковый тип. Входные данные будут секционированы для параллельной обработки. Каждый набор данных в списке секционируется по мини-пакетам отдельно, и каждая из мини-пакетов обрабатывается одинаково в параллельной обработке. |
|
output
Обязательно
|
Привязка выходного порта может использоваться последующими шагами конвейера. |
|
side_inputs
Обязательно
|
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
Список ссылочных данных на стороне. Входные данные на стороне не будут секционированы как входные данные. |
|
arguments
Обязательно
|
Список аргументов командной строки для передачи в entry_script Python. |
|
allow_reuse
Обязательно
|
Следует ли выполнить шаг повторно использовать предыдущие результаты при выполнении с теми же параметрами и входными данными. Если это значение равно 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)
Параметры
| Имя | Описание |
|---|---|
|
execution_type
Обязательно
|
Тип выполнения модуля. |
|
input_bindings
Обязательно
|
Входные привязки шага. |
|
output_bindings
Обязательно
|
Выходные привязки шага. |
|
param_defs
|
Определения параметров шага. Default value: None
|
|
create_sequencing_ports
|
Если задано значение true, для модуля будут созданы последовательные порты. Default value: True
|
|
allow_reuse
|
Если значение true, модуль будет доступен для повторного использования в будущих конвейерах. Default value: True
|
|
version
|
Версия модуля. 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>
Контекст. |
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Созданный узел. |