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


RunConfiguration Класс

Представляет конфигурацию для экспериментов, предназначенных для различных целевых объектов вычислений в Машинном обучении Azure.

Объект RunConfiguration инкапсулирует сведения, необходимые для отправки обучающего выполнения в эксперименте. Как правило, объект RunConfiguration не создается напрямую, но получает его из метода, который возвращает его, например submit метод Experiment класса.

RunConfiguration — это базовая конфигурация среды, которая также используется в других типах шагов конфигурации, которые зависят от того, какой запуск запускается. Например, при настройке PythonScriptStepможно получить доступ к объекту RunConfiguration шага и настроить зависимости Conda или получить доступ к свойствам среды для выполнения.

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

Инициализация RunConfiguration с параметрами по умолчанию.

Конструктор

RunConfiguration(script=None, arguments=None, framework=None, communicator=None, conda_dependencies=None, _history_enabled=None, _path=None, _name=None, command=None)

Параметры

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

Относительный путь к файлу скрипта Python. Путь к файлу относительно исходного каталога, переданного submitв .

Default value: None
arguments

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

Default value: None
framework
str

Целевая платформа, используемая в выполнении. Поддерживаются платформы Python, PySpark, TensorFlow и PyTorch.

Default value: None
communicator
str

Коммуникатор, используемый в выполнении. Поддерживаемые коммуникаторы — None, ParameterServer, OpenMpi и IntelMpi. Помните, что OpenMpi требует пользовательского образа с установленным OpenMpi. Используйте ParameterServer или OpenMpi для кластеров AmlCompute. Используйте IntelMpi для распределенных заданий обучения.

Default value: None
conda_dependencies

Если оставить значение false по умолчанию, система создает среду Python, которая включает пакеты, указанные в conda_dependencies. Если задано значение true, существующую среду Python можно указать с помощью параметра python_interpreter.

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

УСТАРЕВШИЕ. Этот параметр больше не используется.

command
list[str] или str

Команда, отправленная для выполнения. Свойство команды также можно использовать вместо скриптов и аргументов. Свойства команды и скрипта или аргумента нельзя использовать вместе для отправки выполнения. Чтобы отправить файл скрипта с помощью свойства команды ['python', 'train.py', '–arg1', arg1_val] Для выполнения фактической команды — ['ls']

Default value: None
_history_enabled
Default value: None
_path
Default value: None
_name
Default value: None

Комментарии

Обычно мы создаем системы машинного обучения для решения конкретной проблемы. Например, мы можем быть заинтересованы в поиске лучшей модели, которая ранжирует веб-страницы, которые могут служить в качестве результатов поиска, соответствующих запросу. Для поиска лучшей модели машинного обучения может потребоваться попробовать различные алгоритмы или рассмотреть различные параметры параметров и т. д.

В пакете SDK машинного обучения Azure мы используем концепцию эксперимента, чтобы получить представление о том, что различные учебные запуски связаны с проблемой, которую они пытаются решить. Затем он Experiment выступает в качестве логического контейнера для этих запусков обучения, что упрощает отслеживание хода выполнения в ходе обучения, сравнение двух запусков обучения напрямую и т. д.

RunConfiguration инкапсулирует параметры среды выполнения, необходимые для отправки обучающего выполнения в эксперименте. Он фиксирует общую структуру обучающих запусков, предназначенных для решения одной и той же проблемы машинного обучения, а также различия параметров конфигурации (например, скорость обучения, функция потери и т. д.), которые отличают разные учебные запуски друг от друга.

В типичных сценариях обучения RunConfiguration используется путем создания ScriptRunConfig объекта, который объединяет объект RunConfiguration и скрипт выполнения для обучения.

Конфигурация RunConfiguration включает:

  • Объединение исходного каталога эксперимента, включая отправленный скрипт.

  • Задание аргументов командной строки для отправленного скрипта.

  • Настройка пути для интерпретатора Python.

  • Получите конфигурацию Conda для управления зависимостями приложения. Процесс отправки заданий может использовать конфигурацию для подготовки среды temp Conda и запуска приложения в пределах. Временные среды кэшируются и повторно используются в последующих запусках.

  • Необязательное использование Docker и пользовательских базовых образов.

  • Необязательный выбор отправки эксперимента в несколько типов вычислений Azure.

  • Необязательный выбор настройки материализации входных данных и отправки выходных данных.

  • Дополнительные параметры среды выполнения для распространенных сред выполнения, таких как spark и tensorflow.

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


   from azureml.core import ScriptRunConfig, RunConfiguration, Experiment

   # create or load an experiment
   experiment = Experiment(workspace, "MyExperiment")
   # run a trial from the train.py code in your current directory
   config = ScriptRunConfig(source_directory='.', script='train.py',
       run_config=RunConfiguration())
   run = experiment.submit(config)

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


   from azureml.core import ScriptRunConfig, Experiment
   # create or load an experiment
   experiment = Experiment(workspace, 'MyExperiment')
   # create or retrieve a compute target
   cluster = workspace.compute_targets['MyCluster']
   # create or retrieve an environment
   env = Environment.get(ws, name='MyEnvironment')
   # configure and submit your training run
   config = ScriptRunConfig(source_directory='.',
                            command=['python', 'train.py', '--arg1', arg1_val],
                            compute_target=cluster,
                            environment=env)
   script_run = experiment.submit(config)

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


   from azureml.core import ScriptRunConfig, Experiment
   # create or load an experiment
   experiment = Experiment(workspace, 'MyExperiment')
   # create or retrieve a compute target
   cluster = workspace.compute_targets['MyCluster']
   # create or retrieve an environment
   env = Environment.get(ws, name='MyEnvironment')
   # configure and submit your training run
   config = ScriptRunConfig(source_directory='.',
                            command=['ls', '-l'],
                            compute_target=cluster,
                            environment=env)
   script_run = experiment.submit(config)

Переменные

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

Определение среды. Это поле настраивает среду Python. Его можно настроить для использования существующей среды Python или настройки для настройки временной среды для эксперимента. Определение также отвечает за настройку необходимых зависимостей приложения.

max_run_duration_seconds
int

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

node_count
int

Число узлов, используемых для задания.

priority
int

Приоритет задания для политики планирования.

history

Раздел конфигурации, используемый для отключения и включения функций ведения журнала экспериментов.

spark

Если для платформы задано значение PySpark, для задания отправленного задания используется раздел конфигурации SparkConf по умолчанию.

hdi

Раздел конфигурации HDI действует только в том случае, если целевой объект установлен для вычислений Azure HDI. Конфигурация HDI используется для задания режима развертывания YARN. Режим развертывания по умолчанию — кластер.

docker

Раздел конфигурации Docker используется для задания переменных для среды Docker.

tensorflow

Раздел конфигурации, используемый для настройки распределенных параметров TensorFlow. Этот параметр действует только в том случае, если framework задано значение TensorFlow и communicator параметр ParameterServer. AmlCompute — единственный поддерживаемый вычислительный ресурс для этой конфигурации.

mpi

Раздел конфигурации, используемый для настройки параметров распределенного задания MPI. Этот параметр действует только в том случае, если framework задано значение Python и communicator значение OpenMpi или IntelMpi. AmlCompute — единственный поддерживаемый тип вычислений для этой конфигурации.

pytorch

Раздел конфигурации, используемый для настройки параметров распределенного задания PyTorch. Этот параметр действует только в том случае, если framework задано значение PyTorch, а communicator также значение Nccl или Gloo. AmlCompute — единственный поддерживаемый тип вычислений для этой конфигурации.

paralleltask

Раздел конфигурации, используемый для настройки параметров распределенного задания параллелизма. Этот параметр действует только в том случае, если framework задано значение Python и communicator значение ParallelTask. AmlCompute — единственный поддерживаемый тип вычислений для этой конфигурации.

data_references

Все источники данных доступны для выполнения во время выполнения на основе каждой конфигурации. Для каждого элемента словаря ключ — это имя источника данных, а значение — DataReferenceConfiguration.

data

Все данные, доступные для выполнения во время выполнения.

datacaches
<xref:buildin.list>[DatacacheConfiguration]

Все данные, чтобы сделать datacache доступными для выполнения во время выполнения.

output_data

Все выходные данные, которые должны быть отправлены и отслеживаются для этого запуска.

source_directory_data_store
str

Резервное хранилище данных для общей папки проекта.

amlcompute

Сведения о целевом объекте вычислений, который необходимо создать во время эксперимента. Конфигурация действует только в том случае, если целевой объект вычислений — AmlCompute.

kubernetescompute

Сведения о целевом объекте вычислений, который будет использоваться во время эксперимента. Конфигурация действует только в том случае, если целевой объект вычислений — KubernetesCompute.

services

Конечные точки для интерактивного взаимодействия с вычислительным ресурсом. Допустимые конечные точки: Jupyter, JupyterLab, VS Code, Tensorboard, SSH и Пользовательские порты.

Методы

delete

Удалите файл конфигурации запуска.

Вызывает значение, UserErrorException если файл конфигурации не найден.

load

Загрузите ранее сохраненный файл конфигурации запуска из файла на диске.

Если path указывает на файл, runConfiguration загружается из этого файла.

Если path указывает на каталог, который должен быть каталогом проекта, runConfiguration загружается из <пути/.azureml/name> или <path></>aml_config/<name>.

save

Сохраните runConfiguration в файл на диске.

Возникает UserErrorException , когда:

  • Не удается сохранить runConfiguration с указанным именем.

  • Параметр не name указан.

  • Недопустимый path параметр.

Если path имеет формат <dir_path/>file_name<, где >dir_path<> является допустимым каталогом, runConfiguration сохраняется в <dir_path>/<file_name>.

Если path указывает на каталог, который должен быть каталогом проекта, runConfiguration сохраняется в <path/.azureml/name> или <path></>aml_config/<name>.

Этот метод полезен при редактировании конфигурации вручную или при совместном использовании конфигурации с помощью интерфейса командной строки.

delete

Удалите файл конфигурации запуска.

Вызывает значение, UserErrorException если файл конфигурации не найден.

static delete(path, name)

Параметры

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

Пользователь выбрал корневой каталог для конфигураций запуска. Обычно это репозиторий Git или корневой каталог проекта Python. Конфигурация удаляется из вложенного каталога с именем .azureml.

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

Имя файла конфигурации.

Исключения

Тип Описание
UserErrorException

load

Загрузите ранее сохраненный файл конфигурации запуска из файла на диске.

Если path указывает на файл, runConfiguration загружается из этого файла.

Если path указывает на каталог, который должен быть каталогом проекта, runConfiguration загружается из <пути/.azureml/name> или <path></>aml_config/<name>.

static load(path, name=None)

Параметры

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

Пользователь выбрал корневой каталог для конфигураций запуска. Обычно это репозиторий Git или корневой каталог проекта Python. Для обратной совместимости конфигурация также будет загружена из вложенного каталога .azureml или aml_config. Если файл не находится в этих каталогах, файл загружается из указанного пути.

name
str

Имя файла конфигурации.

Default value: None

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

Тип Описание

Объект конфигурации запуска.

save

Сохраните runConfiguration в файл на диске.

Возникает UserErrorException , когда:

  • Не удается сохранить runConfiguration с указанным именем.

  • Параметр не name указан.

  • Недопустимый path параметр.

Если path имеет формат <dir_path/>file_name<, где >dir_path<> является допустимым каталогом, runConfiguration сохраняется в <dir_path>/<file_name>.

Если path указывает на каталог, который должен быть каталогом проекта, runConfiguration сохраняется в <path/.azureml/name> или <path></>aml_config/<name>.

Этот метод полезен при редактировании конфигурации вручную или при совместном использовании конфигурации с помощью интерфейса командной строки.

save(path=None, name=None, separate_environment_yaml=False)

Параметры

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

Указывает, следует ли сохранять конфигурацию среды Conda. Если значение True, конфигурация среды Conda сохраняется в YAML-файле с именем "environment.yml".

Default value: False
path
str

Пользователь выбрал корневой каталог для конфигураций запуска. Обычно это репозиторий Git или корневой каталог проекта Python. Конфигурация сохраняется в вложенный каталог с именем .azureml.

Default value: None
name
str

[Обязательный] Имя файла конфигурации.

Default value: None

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

Тип Описание

Атрибуты

auto_prepare_environment

auto_prepare_environment Получите параметр. Это нерекомендуемый и неиспользуемый параметр.

environment_variables

Переменные среды выполнения.

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

Тип Описание

Переменные среды выполнения

target

Получение целевого объекта вычислений, в котором задание запланировано для выполнения.

Целевой объект по умолчанию — "локальный", ссылающийся на локальный компьютер. Доступные целевые объекты облачных вычислений можно найти с помощью функции compute_targets.

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

Тип Описание
str

Целевое имя