MpiStep Класс

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

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

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

НЕ РЕКОМЕНДУЕТСЯ. Вместо него используется CommandStep. Пример см. в статье Запуск распределенного обучения в конвейерах с помощью CommandStep.

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

Конструктор

MpiStep(name=None, source_directory=None, script_name=None, arguments=None, compute_target=None, node_count=None, process_count_per_node=None, inputs=None, outputs=None, allow_reuse=True, version=None, hash_paths=None, **kwargs)

Параметры

Имя Описание
name
str

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

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

[Обязательно.] Папка, содержащая скрипт Python, conda env и другие ресурсы, используемые на этапе.

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

[Обязательно] Имя скрипта Python (относительно source_directory).

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

[Обязательно.] Список аргументов командной строки.

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

[Обязательно.] Используемый целевой объект вычислений.

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

[Обязательно.] Число узлов в целевом объекте вычислений, используемом для обучения. Если значение больше 1, будет запущено распределенное задание MPI. Для распределенных заданий поддерживается только целевой объект вычислений AmlCompute. Поддерживаются значения PipelineParameter.

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

[Обязательно.] Количество процессов на каждом узле. Если значение больше 1, будет запущено распределенное задание MPI. Для распределенных заданий поддерживается только целевой объект вычислений AmlCompute. Поддерживаются значения PipelineParameter.

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

Список привязок портов ввода.

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

Список выходных привязок портов.

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

Словарь пар "имя-значение", зарегистрированных как переменные среды в "AML_PARAMETER_".

allow_reuse

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

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

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

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

НЕ РЕКОМЕНДУЕТСЯ: больше не требуется.

Список путей для хэширования при проверке изменений в содержимом шага. Если изменения не обнаружены, конвейер будет повторно использовать содержимое этапа из предыдущего выполнения. По умолчанию содержимое source_directory хэшируется (кроме файлов, перечисленных в .amlignore или .gitignore).

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

Указывает, должна ли среда запуска эксперимента поддерживать GPU. При значении "True" в среде будет использоваться образ Docker по умолчанию на основе GPU. При значении "False" будет использоваться образ на основе ЦП. Образы Docker по умолчанию (ЦП или GPU) будут использоваться только в том случае, если параметр custom_docker_image не задан. Этот параметр используется только в целевых объектах вычислений с поддержкой Docker.

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

Указывает, должна ли среда выполнения эксперимента быть основана на Docker.

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

Имя образа Docker, из которого будет построен образ, используемый для обучения. Если он не задан, в качестве базового образа будет использоваться образ на основе ЦП по умолчанию.

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

Сведения о реестре образов Docker.

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

Указывает, будет ли Azure ML повторно использовать существующую среду Python; значение "False" означает, что Azure ML создаст среду Python на основе спецификации зависимостей conda.

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

Список строк, представляющих пакеты conda, добавляемые в среду Python.

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

Список строк, представляющих пакеты PIP, добавляемые в среду Python.

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

Относительный путь к текстовому файлу требований PIP. Этот параметр можно указать в сочетании с параметром pip_packages.

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

EnvironmentDefinition для эксперимента. Сюда входят PythonSection, DockerSection и переменные среды. Любой параметр среды, который не предоставляется напрямую через другие параметры в конструкцию MpiStep, можно задать с помощью параметра environment_definition. Если этот параметр указан, он будет иметь приоритет над другими параметрами, связанными со средой, такими как use_gpu, custom_docker_image, conda_packages или pip_packages, и ошибки будут указаны в отчетах об этих недопустимых комбинациях.

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

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

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

[Обязательно.] Папка, содержащая скрипт Python, conda env и другие ресурсы, используемые на этапе.

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

[Обязательно] Имя скрипта Python (относительно source_directory).

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

[Обязательно.] Список аргументов командной строки.

compute_target
Обязательно
<xref:azureml.core.compute.AmlComputeCompute>, str

[Обязательно.] Используемый целевой объект вычислений.

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

[Обязательный параметр] Число узлов в целевом объекте вычислений, используемом для обучения. Если больше 1, будет выполняться распределенное задание mpi. Для распределенных заданий поддерживается только целевой объект вычислений AmlCompute. Поддерживаются значения PipelineParameter.

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

[Обязательный параметр] Количество процессов на узле. Если больше 1, будет выполняться распределенное задание mpi. Для распределенных заданий поддерживается только целевой объект вычислений AmlCompute. Поддерживаются значения PipelineParameter.

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

Список привязок портов ввода.

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

Список выходных привязок портов.

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

Словарь пар "имя-значение", зарегистрированных как переменные среды с ">>AML_PARAMETER_<<".

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

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

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

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

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

НЕ РЕКОМЕНДУЕТСЯ: больше не требуется.

Список путей для хэширования при проверке изменений в содержимом шага. Если изменения не обнаружены, конвейер будет повторно использовать содержимое этапа из предыдущего выполнения. По умолчанию содержимое source_directory хэшируется (кроме файлов, перечисленных в .amlignore или .gitignore).

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

Указывает, должна ли среда запуска эксперимента поддерживать GPU. При значении "True" в среде будет использоваться образ Docker по умолчанию на основе GPU. При значении "False" будет использоваться образ на основе ЦП. Образы Docker по умолчанию (ЦП или GPU) будут использоваться только в том случае, если параметр custom_docker_image не задан. Этот параметр используется только в целевых объектах вычислений с поддержкой Docker.

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

Указывает, должна ли среда выполнения эксперимента быть основана на Docker. custom_docker_image (str): имя образа Docker, из которого будет создан образ, используемый для задания mpi. Если параметр не задан, в качестве базового образа будет по умолчанию использоваться образ на основе ЦП.

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

Имя образа Docker, из которого будет построен образ, используемый для обучения. Если он не задан, в качестве базового образа будет использоваться образ на основе ЦП по умолчанию.

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

Сведения о реестре образов Docker.

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

Указывает, будет ли Azure ML повторно использовать существующую среду Python; значение "False" означает, что Azure ML создаст среду Python на основе спецификации зависимостей conda.

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

Список строк, представляющих пакеты conda, добавляемые в среду Python.

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

Список строк, представляющих пакеты PIP, добавляемые в среду Python.

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

Относительный путь к текстовому файлу требований PIP. Этот параметр можно указать в сочетании с параметром pip_packages.

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

EnvironmentDefinition для эксперимента. Сюда входят PythonSection, DockerSection и переменные среды. Любой параметр среды, который не предоставляется напрямую через другие параметры в конструкцию MpiStep, можно задать с помощью параметра environment_definition. Если этот параметр указан, он будет иметь приоритет над другими параметрами, связанными со средой, такими как use_gpu, custom_docker_image, conda_packages или pip_packages, и ошибки будут указаны в отчетах об этих недопустимых комбинациях.