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


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

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

Default value: False
pool_id
str

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

Default value: None
delete_batch_job_after_finish

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

Default value: True
delete_batch_pool_after_finish

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

Default value: False
is_positive_exit_code_failure

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

Default value: True
vm_image_urn
str

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

Default value: urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter
run_task_as_admin

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

Default value: False
target_compute_nodes
int

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

Default value: 1
vm_size
str

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

Default value: standard_d1_v2
source_directory
str

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

Default value: None
executable
str

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

Default value: None
arguments
str

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

Default value: None
inputs

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

Default value: None
outputs

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

Default value: None
allow_reuse

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

Default value: True
compute_target

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

Default value: None
version
str

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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
Обязательно

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

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

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

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

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

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

Тип Описание

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