RunConfiguration Класс
Представляет конфигурацию для выполнений экспериментов, предназначенных для различных целевых объектов вычислений в Машинном обучении Azure.
Объект RunConfiguration инкапсулирует сведения, необходимые для отправки обучающего выполнения в эксперименте. Как правило, объект RunConfiguration не создается напрямую, но берется из метода, возвращающего его, например, метода submit класса Experiment.
RunConfiguration — это конфигурация базовой среды, которая также используется в других видах действий по настройке, которые зависят от запускаемого типа выполнения. Например, при настройке PythonScriptStep можно получить доступ к объекту RunConfiguration этапа и настроить зависимости Conda или получить доступ к свойствам среды для выполнения.
Примеры конфигураций запусков см. в статье Выбор и использование целевого объекта вычислений для обучения вашей модели.
Инициализируйте RunConfiguration с параметрами по умолчанию.
- Наследование
-
azureml._base_sdk_common.abstract_run_config_element._AbstractRunConfigElementRunConfiguration
Конструктор
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.
Аргументы командной строки для файла скрипта Python.
- framework
- str
Целевая платформа, используемая в запуске. Поддерживаемые платформы: Python, PySpark, TensorFlow и PyTorch.
- communicator
- str
Коммуникатор, используемый в выполнении. Поддерживаемые коммуникаторы: None, ParameterServer, OpenMpi и IntelMpi. Помните, что для OpenMpi требуется пользовательский образ с установленным OpenMpi. Используйте ParameterServer или OpenMpi для кластеров AmlCompute. Используйте IntelMpi для распределенных заданий на обучение.
- conda_dependencies
- CondaDependencies
Если оставить значение по умолчанию False, система создает среду Python, которая включает пакеты, указанные в conda_dependencies
.
Если задано значение True, существующая среда Python может быть указана с параметром python_interpreter.
Команда, которая будет отправлена для выполнения. Свойство Command можно также использовать вместо свойства Script/Argument. Для отправки выполнения не допускается одновременное использование свойств Command и Script/Argument. Для отправки файла сценария с помощью свойства Command — ['python', 'train.py', '–arg1', arg1_val]; для выполнения фактической команды — ['ls']
- _history_enabled
- _path
- _name
Комментарии
Как правило, мы создаем системы машинного обучения для решения определенной проблемы. Например, задача может заключаться в поиске наиболее эффективной модели, способной ранжировать веб-страницы, которые могут обрабатываться в виде результатов поиска, соответствующих запросу. Поиск самой эффективной модели машинного обучения может потребовать испытания различных алгоритмов или использования других параметров и т. п.
В пакете SDK для Машинного обучения Azure мы используем концепцию эксперимента, чтобы проверить, связаны ли различные обучающие выполнения с проблемой, для решения которой они предназначены. В таком случае Experiment выступает в качестве логического контейнера для этих обучающих выполнений, что упрощает отслеживание обучающих выполнений, сравнение двух учебных обучающих выполнений напрямую и т. п.
RunConfiguration инкапсулирует параметры среды выполнения, необходимые для отправки обучающего выполнения в эксперименте. Он фиксирует как общую структуру обучающих запусков, предназначенных для решения одной и той же задачи машинного обучения, так и различия в параметрах конфигурации (например, скорость обучения, функция потери и т. д.), которые отличают разные запуски обучения друг от друга.
В типичных сценариях обучения RunConfiguration используется путем создания объекта ScriptRunConfig, который упаковывает как объект RunConfiguration, так и сценарий выполнения для обучения.
Конфигурация RunConfiguration включает:
Объединение исходного каталога эксперимента, включая отправленный скрипт.
Задание аргументов командной строки для отправленного скрипта.
Настройку пути для интерпретатора Python.
Получение конфигурации Conda для управления зависимостями приложений. Процесс отправки задания может использовать конфигурацию для подготовки временной среды 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)
В следующем примере показано, как отправить обучающий сценарий в кластер с помощью свойства Command вместо свойств Script и arguments.
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
- Environment
Определение среды. Это поле настраивает среду Python. Настройку можно выполнить для использования существующей среды Python или временной среды для эксперимента. Также это определение может задавать необходимые зависимости приложения.
- max_run_duration_seconds
- int
Максимальное время, допустимое для выполнения. Система будет пытаться автоматически отменить выполнение, если оно длится дольше, чем указано в этом значении.
- node_count
- int
Число узлов, используемых для задания.
- priority
- int
Приоритет задания для политики планирования.
- history
- HistoryConfiguration
Раздел конфигурации, используемый для отключения и включения функции ведения журнала экспериментов.
- spark
- SparkConfiguration
Если для платформы задано значение PySpark, в разделе конфигурации Spark задается значение по умолчанию SparkConf для отправленного задания.
- hdi
- HdiConfiguration
Раздел конфигурации HDI вступает в силу, только если для целевого объекта задано вычисление Azure HDI. Конфигурация HDI используется для установки режима развертывания YARN. Режим развертывания по умолчанию — кластер.
- docker
- DockerConfiguration
Раздел конфигурации Docker используется для задания переменных среды Docker.
- tensorflow
- TensorflowConfiguration
Раздел конфигурации, используемый для настройки распределенных параметров TensorFlow.
Этот параметр вступает в силу, только если задать framework
для TensorFlow и communicator
для ParameterServer. AmlCompute является единственным поддерживаемым вычислением для этой конфигурации.
- mpi
- MpiConfiguration
Раздел конфигурации, используемый для настройки параметров задания распределенного MPI.
Этот параметр вступает в силу только, если задать framework
для Python, а communicator
для OpenMpi или IntelMpi. AmlCompute является единственным поддерживаемым типом вычислений для этой конфигурации.
- pytorch
- PyTorchConfiguration
Раздел конфигурации, используемый для настройки параметров распределенных заданий PyTorch.
Этот параметр вступает в силу, только если задать framework
для PyTorch, а communicator
для Nccl или Gloo. AmlCompute является единственным поддерживаемым типом вычислений для этой конфигурации.
- paralleltask
- ParallelTaskConfiguration
Раздел конфигурации, используемый для настройки параметров распределенных заданий Paralleltask.
Этот параметр вступает в силу, только если задать framework
для Python, а communicator
для ParallelTask. AmlCompute является единственным поддерживаемым типом вычислений для этой конфигурации.
- data_references
- dict[str, DataReferenceConfiguration]
Все источники данных доступны для выполнения во время выполнения на основе каждой конфигурации. Для каждого элемента словаря ключом является имя, присвоенное источнику данных, а значением — DataReferenceConfiguration.
- datacaches
- <xref:buildin.list>[DatacacheConfiguration]
Все данные, чтобы сделать объект datacache доступным для выполнения во время выполнения.
- output_data
- OutputData
Все выходные данные, которые необходимо отправить и отслеживать для этого выполнения.
- source_directory_data_store
- str
Резервное хранилище данных для общей папки проекта.
- amlcompute
- AmlComputeConfiguration
Сведения о целевом объекте вычислений, создаваемом во время эксперимента. Конфигурация вступает в силу, только когда целевым объектом вычислений является AmlCompute.
- kubernetescompute
- KubernetesComputeConfiguration
Сведения о целевом объекте вычислений, который будет использоваться во время эксперимента. Конфигурация вступает в силу, только когда целевым объектом вычислений является KubernetesCompute.
- services
- dict[str, ApplicationEndpointConfiguration]
Конечные точки для интерактивного взаимодействия с ресурсом вычислений. Допустимые конечные точки: Jupyter, JupyterLab, VS Code, Tensorboard, SSH и пользовательские порты.
Методы
delete |
Удаление файла конфигурации запуска. Вызывает UserErrorException, если файл конфигурации не найден. |
load |
Загрузка ранее сохраненного файла конфигурации запуска из файла на диске. Если Если |
save |
Сохранение RunConfiguration в файл на диске. UserErrorException вызывается, если:
Если Если Этот метод полезен при изменении конфигурации вручную или при совместном использовании конфигурации с интерфейсом командной строки. |
delete
Удаление файла конфигурации запуска.
Вызывает UserErrorException, если файл конфигурации не найден.
static delete(path, name)
Параметры
- path
- str
Выбранный пользователем корневой каталог для конфигураций выполнения. Обычно это репозиторий Git или корневой каталог проекта Python. Конфигурация удаляется из подкаталога с именем .azureml.
Исключения
load
Загрузка ранее сохраненного файла конфигурации запуска из файла на диске.
Если path
указывает на файл, RunConfiguration загружается из этого файла.
Если path
указывает на каталог, который должен быть каталогом проекта, RunConfiguration загружается из <path>/.azureml/<name> или <path>/aml_config/<name>.
static load(path, name=None)
Параметры
- path
- str
Выбранный пользователем корневой каталог для конфигураций выполнения. Обычно это репозиторий Git или корневой каталог проекта Python. Для обеспечения обратной совместимости конфигурация также будет загружаться из каталога .azureml или aml_config. Если файл в этих каталогах отсутствует, файл загружается по указанному пути.
Возвращаемое значение
Объект конфигурации запуска.
Возвращаемый тип
Исключения
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
- bool
Указывает, следует ли сохранить конфигурацию среды Conda. При значении True конфигурация среды Conda сохраняется в файл YAML с именем environment.yml.
- path
- str
Выбранный пользователем корневой каталог для конфигураций выполнения. Обычно это репозиторий Git или корневой каталог проекта Python. Конфигурация удаляется из подкаталога с именем .azureml.
Возвращаемый тип
Исключения
Атрибуты
auto_prepare_environment
Получает параметр auto_prepare_environment
. Это нерекомендуемый и неиспользуемый параметр.
environment_variables
Переменные среды выполнения.
Возвращаемое значение
Переменные среды выполнения
Возвращаемый тип
target
Получает целевой объект вычислений, в котором запланировано выполнение задания.
Целевым объектом по умолчанию является local, что означает локальный компьютер. Доступные облачные целевые объекты вычислений можно найти с помощью функции compute_targets.
Возвращаемое значение
Имя целевого объекта
Возвращаемый тип
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по