AzureBatchStep Класс
Создает этап конвейера Azure ML для отправки заданий в пакетную службу Azure.
Примечание. На этом этапе не поддерживается загрузку и выгрузку каталогов и их содержимого.
Пример использования AzureBatchStep см. в записной книжке https://aka.ms/pl-azbatch.
Создайте шаг конвейера Машинного обучения Azure для отправки заданий в пакетная служба Azure.
- Наследование
-
azureml.pipeline.core._azurebatch_step_base._AzureBatchStepBaseAzureBatchStep
Конструктор
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
Обязательно
|
[Обязательно] Имя этапа. |
create_pool
|
Указывает, следует ли создавать пул перед выполнением заданий. Default value: False
|
pool_id
|
[Обязательно] Идентификатор пула, в котором будет выполняться задание. В качестве идентификатора может быть указан существующий пулом или пул, который создается при отправке задания. 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
|
Если Default value: urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter
|
run_task_as_admin
|
Указывает, требуются ли права администратора для выполнения задачи. Default value: False
|
target_compute_nodes
|
Если Default value: 1
|
vm_size
|
Если Default value: standard_d1_v2
|
source_directory
|
Локальная папка, содержащая двоичные файлы модуля, исполняемый файл, сборки и т. д. Default value: None
|
executable
|
[Обязательно] Имя команды или исполняемого файла, которые будут выполняться в рамках этого задания. Default value: None
|
arguments
|
Аргументы для команды или исполняемого файла. 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
|
Необязательный тег версии для обозначения изменения функциональности модуля. Default value: None
|
name
Обязательно
|
[Обязательно] Имя этапа. |
create_pool
Обязательно
|
Указывает, следует ли создавать пул перед выполнением заданий. |
pool_id
Обязательно
|
[Обязательно] Идентификатор пула, в котором будет выполняться задание. В качестве идентификатора может быть указан существующий пулом или пул, который создается при отправке задания. |
delete_batch_job_after_finish
Обязательно
|
Указывает, следует ли удалять задание из учетной записи пакетной службы после его завершения. |
delete_batch_pool_after_finish
Обязательно
|
Указывает, следует ли удалять пул после завершения задания. |
is_positive_exit_code_failure
Обязательно
|
Указывает, завершается ли задание ошибкой, если существует задача с положительным кодом. |
vm_image_urn
Обязательно
|
Если |
run_task_as_admin
Обязательно
|
Указывает, требуются ли права администратора для выполнения задачи. |
target_compute_nodes
Обязательно
|
Если |
vm_size
Обязательно
|
Если |
source_directory
Обязательно
|
Локальная папка, содержащая двоичные файлы модуля, исполняемый файл, сборки и т. д. |
executable
Обязательно
|
[Обязательно] Имя команды или исполняемого файла, которые будут выполняться в рамках этого задания. |
arguments
Обязательно
|
Аргументы для команды или исполняемого файла. |
inputs
Обязательно
|
Список входных привязок портов. Перед запуском задания создается папка для каждого входного параметра. Файлы для каждого входа будут скопированы из хранилища в соответствующую папку на вычислительном узле. Например, если имя входа — input1, а относительный путь к хранилищу — some/relative/path/that/can/be/really/long/inputfile.txt, то путь к файлу в вычислении будет следующим: ./input1/inputfile.txt. Если входное имя превышает 32 символа, оно будет усечено и добавлено с уникальным суффиксом, чтобы имя папки можно было успешно создать на вычислительном ресурсе. |
outputs
Обязательно
|
Список выходных привязок портов. Как и в случае с входными данными, перед запуском задания создается папка для каждого выхода. Имя папки будет совпадать с именем выхода. Предполагается, что задание будет иметь выходные данные в эту папку. |
allow_reuse
Обязательно
|
Указывает, должен ли этап повторно использовать предыдущие результаты при повторном выполнении с теми же параметрами. Повторное использование включено по умолчанию. Если содержимое этапа (скрипты или зависимости), а также входные данные и параметры не изменяются, выходные данные предыдущего выполнения этого этапа используются повторно. При повторном использовании этапа вместо отправки задания для вычисления немедленно предоставляются результаты предыдущего выполнения для последующих этапов. Если в качестве входных данных используются наборы данных Машинного обучения Azure, то повторное использование зависит от изменения определения набора данных, а не базовых данных. |
compute_target
Обязательно
|
[Обязательно] Вычисление [Обязательно], где выполняется задание. |
version
Обязательно
|
Необязательный тег версии для обозначения изменения функциональности модуля. |
Комментарии
В следующем примере показано, как использовать 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>
Контекст графа. |
Возвращаемое значение
Тип | Описание |
---|---|
Созданный узел. |