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


AzureBatchStep Класс

Создает этап конвейера Azure ML для отправки заданий в пакетную службу Azure.

Примечание. На этом этапе не поддерживается загрузку и выгрузку каталогов и их содержимого.

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

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

Наследование
azureml.pipeline.core._azurebatch_step_base._AzureBatchStepBase
AzureBatchStep

Конструктор

AzureBatchStep(name, create_pool=False, pool_id=None, delete_batch_job_after_finish=True, delete_batch_pool_after_finish=False, is_positive_exit_code_failure=True, vm_image_urn='urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter', run_task_as_admin=False, target_compute_nodes=1, vm_size='standard_d1_v2', source_directory=None, executable=None, arguments=None, inputs=None, outputs=None, allow_reuse=True, compute_target=None, version=None)

Параметры

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

[Обязательно] Имя этапа.

create_pool
bool
значение по умолчанию: False

Указывает, следует ли создавать пул перед выполнением заданий.

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

[Обязательно] Идентификатор пула, в котором будет выполняться задание. В качестве идентификатора может быть указан существующий пулом или пул, который создается при отправке задания.

delete_batch_job_after_finish
bool
значение по умолчанию: True

Указывает, следует ли удалять задание из учетной записи пакетной службы после его завершения.

delete_batch_pool_after_finish
bool
значение по умолчанию: False

Указывает, следует ли удалять пул после завершения задания.

is_positive_exit_code_failure
bool
значение по умолчанию: True

Указывает, завершается ли задание ошибкой, если существует задача с положительным кодом.

vm_image_urn
str
значение по умолчанию: urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter

Если create_pool имеет значение true и виртуальная машина использует VirtualMachineConfiguration. Формат значения: urn:publisher:offer:sku. Например, urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter.

run_task_as_admin
bool
значение по умолчанию: False

Указывает, требуются ли права администратора для выполнения задачи.

target_compute_nodes
int
значение по умолчанию: 1

Если create_pool имеет значение True, указывает, сколько вычислительных узлов будет добавлено в пул.

vm_size
str
значение по умолчанию: standard_d1_v2

Если create_pool имеет значение True, указывает размер виртуальной машины для вычислительных узлов.

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

Локальная папка, содержащая двоичные файлы модуля, исполняемый файл, сборки и т. д.

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

[Обязательно] Имя команды или исполняемого файла, которые будут выполняться в рамках этого задания.

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

Аргументы для команды или исполняемого файла.

inputs
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData]]
значение по умолчанию: None

Список входных привязок портов. Перед запуском задания создается папка для каждого входного параметра. Файлы для каждого входа будут скопированы из хранилища в соответствующую папку на вычислительном узле. Например, если имя входа — input1, а относительный путь к хранилищу — some/relative/path/that/can/be/really/long/inputfile.txt, то путь к файлу в вычислении будет следующим: ./input1/inputfile.txt. Если имя входа длиннее 32 символов, оно будет обрезано, а затем в него будет добавлен уникальный суффикс, чтобы можно было успешно создать имя папки в целевом объекте вычислений.

outputs
list[Union[PipelineData, PipelineOutputAbstractDataset, OutputPortBinding]]
значение по умолчанию: None

Список выходных привязок портов. Как и в случае с входными данными, перед запуском задания создается папка для каждого выхода. Имя папки будет совпадать с именем выхода. Предполагается, что выходные данные задания будут сохраняться в этой папке.

allow_reuse
bool
значение по умолчанию: True

Указывает, должен ли этап повторно использовать предыдущие результаты при повторном выполнении с теми же параметрами. Повторное использование включено по умолчанию. Если содержимое этапа (скрипты или зависимости), а также входные данные и параметры не изменяются, выходные данные предыдущего выполнения этого этапа используются повторно. При повторном использовании этапа вместо отправки задания для вычисления немедленно предоставляются результаты предыдущего выполнения для последующих этапов. Если в качестве входных данных используются наборы данных Машинного обучения Azure, то повторное использование зависит от изменения определения набора данных, а не базовых данных.

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

[Обязательно] Вычисление [Обязательно], где выполняется задание.

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

Необязательный тег версии для обозначения изменения функциональности модуля.

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

[Обязательно] Имя этапа.

create_pool
bool
Обязательно

Указывает, следует ли создавать пул перед выполнением заданий.

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

[Обязательно] Идентификатор пула, в котором будет выполняться задание. В качестве идентификатора может быть указан существующий пулом или пул, который создается при отправке задания.

delete_batch_job_after_finish
bool
Обязательно

Указывает, следует ли удалять задание из учетной записи пакетной службы после его завершения.

delete_batch_pool_after_finish
bool
Обязательно

Указывает, следует ли удалять пул после завершения задания.

is_positive_exit_code_failure
bool
Обязательно

Указывает, завершается ли задание ошибкой, если существует задача с положительным кодом.

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

Если create_pool имеет значение true и виртуальная машина использует VirtualMachineConfiguration. Формат значения: urn:publisher:offer:sku. Например, urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter.

run_task_as_admin
bool
Обязательно

Указывает, требуются ли права администратора для выполнения задачи.

target_compute_nodes
int
Обязательно

Если create_pool имеет значение True, указывает, сколько вычислительных узлов будет добавлено в пул.

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

Если create_pool имеет значение True, указывает размер виртуальной машины вычислительных узлов.

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

Локальная папка, содержащая двоичные файлы модуля, исполняемый файл, сборки и т. д.

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

[Обязательно] Имя команды или исполняемого файла, которые будут выполняться в рамках этого задания.

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

Аргументы для команды или исполняемого файла.

inputs
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData]]
Обязательно

Список входных привязок портов. Перед запуском задания создается папка для каждого входного параметра. Файлы для каждого входа будут скопированы из хранилища в соответствующую папку на вычислительном узле. Например, если имя входа — input1, а относительный путь к хранилищу — some/relative/path/that/can/be/really/long/inputfile.txt, то путь к файлу в вычислении будет следующим: ./input1/inputfile.txt. Если входное имя превышает 32 символа, оно будет усечено и добавлено с уникальным суффиксом, чтобы имя папки можно было успешно создать на вычислительном ресурсе.

outputs
list[Union[PipelineData, PipelineOutputAbstractDataset, OutputPortBinding]]
Обязательно

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

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

Указывает, должен ли этап повторно использовать предыдущие результаты при повторном выполнении с теми же параметрами. Повторное использование включено по умолчанию. Если содержимое этапа (скрипты или зависимости), а также входные данные и параметры не изменяются, выходные данные предыдущего выполнения этого этапа используются повторно. При повторном использовании этапа вместо отправки задания для вычисления немедленно предоставляются результаты предыдущего выполнения для последующих этапов. Если в качестве входных данных используются наборы данных Машинного обучения Azure, то повторное использование зависит от изменения определения набора данных, а не базовых данных.

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

[Обязательно] Вычисление [Обязательно], где выполняется задание.

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

Необязательный тег версии для обозначения изменения функциональности модуля.

Комментарии

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


   step = AzureBatchStep(
               name="Azure Batch Job",
               pool_id="MyPoolName", # Replace this with the pool name of your choice
               inputs=[testdata],
               outputs=[outputdata],
               executable="azurebatch.cmd",
               arguments=[testdata, outputdata],
               compute_target=batch_compute,
               source_directory=binaries_folder,
   )

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

Методы

create_node

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

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

create_node

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

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

create_node(graph, default_datastore, context)

Параметры

graph
Graph
Обязательно

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

default_datastore
Union[AbstractAzureStorageDatastore, AzureDataLakeDatastore]
Обязательно

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

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

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

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

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

Возвращаемый тип