ModuleStep Класс

Создает этап конвейера Машинного обучения Azure для выполнения определенной версии класса Module.

Объекты Module определяют многократно используемые вычисления, такие как скрипты или исполняемые файлы, которые могут использоваться в различных сценариях машинного обучения и разными пользователями. Чтобы использовать определенную версию класса Module в конвейере, создайте ModuleStep. ModuleStep — это этап в конвейере, который использует существующий класс ModuleVersion.

Пример использования ModuleStep приведен в записной книжке: https://aka.ms/pl-modulestep.

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

Наследование
ModuleStep

Конструктор

ModuleStep(module=None, version=None, module_version=None, inputs_map=None, outputs_map=None, compute_target=None, runconfig=None, runconfig_pipeline_params=None, arguments=None, params=None, name=None, _workflow_provider=None)

Параметры

Имя Описание
module

Модуль, используемый на этапе. Укажите параметр module или параметр module_version, но не оба сразу.

значение по умолчанию: None
version
str

Версия модуля, используемого на этапе.

значение по умолчанию: None
module_version

Класс ModuleVersion модуля, используемого на этапе. Укажите параметр module или параметр module_version, но не оба сразу.

значение по умолчанию: None
inputs_map

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

значение по умолчанию: None
outputs_map

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

значение по умолчанию: None
compute_target

Целевой объект вычислений для использования. Если не указано, будет использоваться целевой объект из runconfig. Это может быть целевой объект вычислений или имя строки целевого объекта вычислений в рабочей области. Если целевой объект вычислений недоступен во время создания конвейера, можно указать кортеж для ("имя целевого объекта вычислений", "тип целевого объекта вычислений"), чтобы исключить извлечение выборки целевого объекта вычислений (тип AmlCompute — "AmlCompute", а тип RemoteCompute — "VirtualMachine").

значение по умолчанию: None
runconfig

Необязательный RunConfiguration для использования. RunConfiguration можно использовать для указания дополнительных требований для выполнения, таких как зависимости Conda и образ Docker.

значение по умолчанию: None
runconfig_pipeline_params

Переопределяет свойства runconfig во время выполнения с использованием пар "ключ-значение", каждая из которых имеет имя свойства runconfig и PipelineParameter для этого свойства.

Поддерживаемые значения: "NodeCount", "MpiProcessCountPerNode", "TensorflowWorkerCount", "TensorflowParameterServerCount"

значение по умолчанию: None
arguments

Список аргументов командной строки для файла скрипта Python. Аргументы будут поставляться целевому объекту вычислений через аргументы в RunConfiguration. Дополнительные сведения об обработке таких аргументов, как специальные символы, см. в описании RunConfiguration.

значение по умолчанию: None
params

Словарь пар "имя-значение".

значение по умолчанию: None
name
str

Имя шага этапа.

значение по умолчанию: None
_workflow_provider
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>

(Только для внутреннего использования.) Поставщик рабочих процессов.

значение по умолчанию: None
module
Обязательно

Модуль, используемый на этапе. Укажите параметр module или параметр module_version, но не оба сразу.

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

Версия модуля, используемого на этапе.

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

ModuleVersion модуля, используемого на шаге. Укажите параметр module или параметр module_version, но не оба сразу.

inputs_map
Обязательно
dict[str, Union[InputPortBinding, DataReference, PortDataReference, PipelineData, <xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset>, DatasetConsumptionConfig]]

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

outputs_map
Обязательно
dict[str, Union[InputPortBinding, DataReference, PortDataReference, PipelineData, <xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset>]]

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

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

Целевой объект вычислений для использования. Если не указано, будет использоваться целевой объект из runconfig. Это может быть целевой объект вычислений или имя строки целевого объекта вычислений в рабочей области. Если целевой объект вычислений недоступен во время создания конвейера, можно указать кортеж для ("имя целевого объекта вычислений", "тип целевого объекта вычислений"), чтобы исключить извлечение выборки целевого объекта вычислений (тип AmlCompute — "AmlCompute", а тип RemoteCompute — "VirtualMachine").

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

Необязательный RunConfiguration для использования. RunConfiguration можно использовать для указания дополнительных требований для выполнения, таких как зависимости Conda и образ Docker.

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

Переопределяет свойства runconfig во время выполнения с использованием пар "ключ-значение", каждая из которых имеет имя свойства runconfig и PipelineParameter для этого свойства.

Поддерживаемые значения: "NodeCount", "MpiProcessCountPerNode", "TensorflowWorkerCount", "TensorflowParameterServerCount"

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

Список аргументов командной строки для файла скрипта Python. Аргументы будут поставляться целевому объекту вычислений через аргументы в RunConfiguration. Дополнительные сведения об обработке таких аргументов, как специальные символы, см. в описании RunConfiguration.

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

Словарь пар "имя-значение".

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

Имя шага этапа.

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

(Только для внутреннего использования.) Поставщик рабочих процессов.

Комментарии

Класс Module используется для создания многократно используемой вычислительной единицы конвейера Машинное обучение Azure и управления ей. ModuleStep — это встроенный этап в Машинном обучении Azure, используемый для потребления модуля. Вы можете либо конкретно определить, какой класс ModuleVersion использовать, либо позволить Машинному обучению Azure разрешить этот вопрос с помощью процесса разрешения, определенного в разделе "Примечания" класса Module. Чтобы определить, какой класс ModuleVersion используется в отправленном конвейере, определите один из следующих элементов при создании ModuleStep:

  • Объект ModuleVersion.

  • Объект Module и значение версии.

  • Объект Module без значения версии. В этом случае разрешение версий может зависеть от отправок.

Необходимо определить сопоставление входных и выходных данных ModuleStep с входными и выходными данными ModuleVersion.

В следующем примере показано, как создать ModuleStep в составе конвейера с несколькими объектами ModuleStep:


   middle_step = ModuleStep(module=module,
                            inputs_map= middle_step_input_wiring,
                            outputs_map= middle_step_output_wiring,
                            runconfig=RunConfiguration(), compute_target=aml_compute,
                            arguments = ["--file_num1", first_sum, "--file_num2", first_prod,
                                         "--output_sum", middle_sum, "--output_product", middle_prod])

Полный пример можно найти по адресу: https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-how-to-use-modulestep.ipynb

Методы

create_node

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

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

create_node

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

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

create_node(graph, default_datastore, context)

Параметры

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

Объект графа, в который добавляется узел.

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

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

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

Контекст графа.

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

Тип Описание

Объект узла.