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
|
Относительный путь к файлу скрипта Python. Путь к файлу относительно исходного каталога, переданного submitв . Default value: None
|
arguments
|
Аргументы командной строки для файла скрипта Python. Default value: None
|
framework
|
Целевая платформа, используемая в выполнении. Поддерживаются платформы Python, PySpark, TensorFlow и PyTorch. Default value: None
|
communicator
|
Коммуникатор, используемый в выполнении. Поддерживаемые коммуникаторы — None, ParameterServer, OpenMpi и IntelMpi. Помните, что OpenMpi требует пользовательского образа с установленным OpenMpi. Используйте ParameterServer или OpenMpi для кластеров AmlCompute. Используйте IntelMpi для распределенных заданий обучения. Default value: None
|
conda_dependencies
|
Если оставить значение false по умолчанию, система создает среду Python, которая включает пакеты, указанные в Default value: None
|
auto_prepare_environment
Обязательно
|
УСТАРЕВШИЕ. Этот параметр больше не используется. |
command
|
Команда, отправленная для выполнения. Свойство команды также можно использовать вместо скриптов и аргументов. Свойства команды и скрипта или аргумента нельзя использовать вместе для отправки выполнения. Чтобы отправить файл скрипта с помощью свойства команды ['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
|
Максимально допустимое время выполнения. Система попытается автоматически отменить выполнение, если оно заняло больше времени, чем это значение. |
node_count
|
Число узлов, используемых для задания. |
priority
|
Приоритет задания для политики планирования. |
history
|
Раздел конфигурации, используемый для отключения и включения функций ведения журнала экспериментов. |
spark
|
Если для платформы задано значение PySpark, для задания отправленного задания используется раздел конфигурации SparkConf по умолчанию. |
hdi
|
Раздел конфигурации HDI действует только в том случае, если целевой объект установлен для вычислений Azure HDI. Конфигурация HDI используется для задания режима развертывания YARN. Режим развертывания по умолчанию — кластер. |
docker
|
Раздел конфигурации Docker используется для задания переменных для среды Docker. |
tensorflow
|
Раздел конфигурации, используемый для настройки распределенных параметров TensorFlow.
Этот параметр действует только в том случае, если |
mpi
|
Раздел конфигурации, используемый для настройки параметров распределенного задания MPI.
Этот параметр действует только в том случае, если |
pytorch
|
Раздел конфигурации, используемый для настройки параметров распределенного задания PyTorch.
Этот параметр действует только в том случае, если |
paralleltask
|
Раздел конфигурации, используемый для настройки параметров распределенного задания параллелизма.
Этот параметр действует только в том случае, если |
data_references
|
Все источники данных доступны для выполнения во время выполнения на основе каждой конфигурации. Для каждого элемента словаря ключ — это имя источника данных, а значение — DataReferenceConfiguration. |
data
|
Все данные, доступные для выполнения во время выполнения. |
datacaches
|
<xref:buildin.list>[DatacacheConfiguration]
Все данные, чтобы сделать datacache доступными для выполнения во время выполнения. |
output_data
|
Все выходные данные, которые должны быть отправлены и отслеживаются для этого запуска. |
source_directory_data_store
|
Резервное хранилище данных для общей папки проекта. |
amlcompute
|
Сведения о целевом объекте вычислений, который необходимо создать во время эксперимента. Конфигурация действует только в том случае, если целевой объект вычислений — AmlCompute. |
kubernetescompute
|
Сведения о целевом объекте вычислений, который будет использоваться во время эксперимента. Конфигурация действует только в том случае, если целевой объект вычислений — KubernetesCompute. |
services
|
Конечные точки для интерактивного взаимодействия с вычислительным ресурсом. Допустимые конечные точки: Jupyter, JupyterLab, VS Code, Tensorboard, SSH и Пользовательские порты. |
Методы
delete |
Удалите файл конфигурации запуска. Вызывает значение, UserErrorException если файл конфигурации не найден. |
load |
Загрузите ранее сохраненный файл конфигурации запуска из файла на диске. Если Если |
save |
Сохраните runConfiguration в файл на диске. Возникает UserErrorException , когда:
Если Если Этот метод полезен при редактировании конфигурации вручную или при совместном использовании конфигурации с помощью интерфейса командной строки. |
delete
Удалите файл конфигурации запуска.
Вызывает значение, UserErrorException если файл конфигурации не найден.
static delete(path, name)
Параметры
Имя | Описание |
---|---|
path
Обязательно
|
Пользователь выбрал корневой каталог для конфигураций запуска. Обычно это репозиторий Git или корневой каталог проекта Python. Конфигурация удаляется из вложенного каталога с именем .azureml. |
name
Обязательно
|
Имя файла конфигурации. |
Исключения
Тип | Описание |
---|---|
UserErrorException
|
load
Загрузите ранее сохраненный файл конфигурации запуска из файла на диске.
Если path
указывает на файл, runConfiguration загружается из этого файла.
Если path
указывает на каталог, который должен быть каталогом проекта, runConfiguration загружается из <пути/.azureml/name> или <path></>aml_config/<name>.
static load(path, name=None)
Параметры
Имя | Описание |
---|---|
path
Обязательно
|
Пользователь выбрал корневой каталог для конфигураций запуска. Обычно это репозиторий Git или корневой каталог проекта Python. Для обратной совместимости конфигурация также будет загружена из вложенного каталога .azureml или aml_config. Если файл не находится в этих каталогах, файл загружается из указанного пути. |
name
|
Имя файла конфигурации. 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
|
Пользователь выбрал корневой каталог для конфигураций запуска. Обычно это репозиторий Git или корневой каталог проекта Python. Конфигурация сохраняется в вложенный каталог с именем .azureml. Default value: None
|
name
|
[Обязательный] Имя файла конфигурации. Default value: None
|
Возвращаемое значение
Тип | Описание |
---|---|
Атрибуты
auto_prepare_environment
auto_prepare_environment
Получите параметр. Это нерекомендуемый и неиспользуемый параметр.
environment_variables
target
Получение целевого объекта вычислений, в котором задание запланировано для выполнения.
Целевой объект по умолчанию — "локальный", ссылающийся на локальный компьютер. Доступные целевые объекты облачных вычислений можно найти с помощью функции compute_targets.
Возвращаемое значение
Тип | Описание |
---|---|
Целевое имя |