Синтаксис YAML, описанный в этом документе, основан на схеме JSON для последней версии расширения ML CLI (версия 2). Этот синтаксис гарантированно работает только с последней версией расширения ML CLI (версия 2).
Схемы для старых версий расширений можно найти по адресу https://azuremlschemasprod.azureedge.net/.
Синтаксис YAML
Ключ
Тип
Описание
Допустимые значения
Default value
$schema
строка
Схема YAML. Если вы используете расширение МАШИННОЕ ОБУЧЕНИЕ AZURE VS Code для создания ФАЙЛА YAML, можно вызвать завершение схемы и ресурсов, если вы включаете $schema в начало файла.
type
const
Обязательный. Тип задания.
sweep
sweep
name
строка
Имя задания. Должно быть уникальным для всех заданий в рабочей области. Если опущено, Машинное обучение Azure автоматически создает GUID для имени.
display_name
строка
Отображаемое имя задания в пользовательском интерфейсе студии. Может быть неуникальным в пределах рабочей области. Если опущено, Машинное обучение Azure автоматически создает идентификатор прилагательного имени, доступный для чтения.
experiment_name
строка
Упорядочение задания под именем эксперимента. Запись выполнения каждого задания организована в соответствии с соответствующим экспериментом на вкладке "Эксперименты" студии. Если опущено, Машинное обучение Azure по умолчанию используется experiment_name имя рабочего каталога, в котором было создано задание.
Обязательный. Словарь пространства поиска гиперпараметров. Имя гиперпараметра является ключом, а значением является выражение параметра.
Гиперпараметры можно ссылаться в trial.command${{ search_space.<hyperparameter> }} выражении.
search_space.<hyperparameter>
объект
Посетите выражения параметров для набора возможных выражений.
objective.primary_metric
строка
Обязательный. Имя основной метрики, сообщаемой каждым заданием пробной версии. Метрика должна быть зарегистрирована в скрипте обучения пользователя, используя mlflow.log_metric() то же соответствующее имя метрики.
objective.goal
строка
Обязательный. Цель оптимизации objective.primary_metric.
maximize, minimize
early_termination
объект
Используемая политика раннего завершения. Задание пробной версии отменяется при соблюдении критериев указанной политики. Если опущено, политика досрочного завершения не применяется. BanditPolicy, MedianStoppingPolicy или TruncationSelectionPolicy.
Обязательный. Имя целевого объекта вычислений, на котором выполняется задание, с синтаксисом azureml:<compute_name> .
trial
объект
Обязательный. Шаблон задания для каждой пробной версии. Каждое пробное задание предоставляется с различным сочетанием значений гиперпараметра, которые из системных примеров search_spaceпредоставляются. Посетите атрибуты trial ключа.
inputs
объект
Словарь входных данных для задания. Ключ — это имя входных данных в контексте задания, а значение — это входное значение.
На входные данные можно ссылаться в command с помощью выражения ${{ inputs.<input_name> }}.
inputs.<input_name>
число, целое число, логическое значение, строка или объект
Одно из литеральных значений (число типа, целое число, логическое значение или строка) или объект, содержащий спецификацию входных данных задания.
outputs
объект
Словарь конфигураций выходных данных для задания. Ключ — это имя выходных данных в контексте задания, а значение — выходная конфигурация.
На выходные данные можно ссылаться в command с помощью выражения ${{ outputs.<output_name> }}.
outputs.<output_name>
объект
Вы можете оставить объект пустым, и в этом случае выходные данные по uri_folder умолчанию являются типом и Машинное обучение Azure системе генерирует выходное расположение выходных данных. Все файлы в выходной каталог записываются с помощью подключения чтения и записи. Чтобы указать другой режим выходных данных, укажите объект, содержащий спецификацию выходных данных задания.
identity
объект
Удостоверение используется для доступа к данным. Это может быть конфигурация удостоверений пользователей, конфигурация управляемого удостоверения или нет. Для UserIdentityConfiguration удостоверение отправителя заданий используется для доступа к входным данным и записи результатов в выходную папку. В противном случае используется управляемое удостоверение целевого объекта вычислений.
Алгоритм выборки
RandomSamplingAlgorithm
Ключ
Тип
Описание
Допустимые значения
Default value
type
const
Обязательный. Тип алгоритма выборки.
random
seed
integer
Случайное начальное значение, используемое для инициализации случайного поколения чисел. Если опущено, начальное значение по умолчанию равно NULL.
rule
строка
Используемый тип случайной выборки. По умолчанию randomиспользуется простая единая случайная выборка, в то время как sobol используется квази-случайный последовательности Sobol.
random, sobol
random
GridSamplingAlgorithm
Ключ
Тип
Описание
Допустимые значения
type
const
Обязательный. Тип алгоритма выборки.
grid
BayesianSamplingAlgorithm
Ключ
Тип
Описание
Допустимые значения
type
const
Обязательный. Тип алгоритма выборки.
bayesian
Политика преждевременного завершения
BanditPolicy
Ключ
Тип
Описание
Допустимые значения
Default value
type
const
Обязательный. Тип политики.
bandit
slack_factor
number
Коэффициент, используемый для вычисления допустимого отхождения от пробной версии с наибольшей эффективностью. Требуется одно из slack_factor или slack_amount.
slack_amount
number
Допустимое абсолютное отхождение от пробной версии с наибольшей эффективностью. Требуется одно из slack_factor или slack_amount.
evaluation_interval
integer
Частота применения политики.
1
delay_evaluation
integer
Число интервалов, для которых откладывается первая оценка политики. Если этот параметр указан, политика применяется ко всем кратным evaluation_interval, которые больше или равны delay_evaluation.
0
MedianStoppingPolicy
Ключ
Тип
Описание
Допустимые значения
Default value
type
const
Обязательный. Тип политики.
median_stopping
evaluation_interval
integer
Частота применения политики.
1
delay_evaluation
integer
Число интервалов, для которых откладывается первая оценка политики. Если этот параметр указан, политика применяется ко всем кратным evaluation_interval, которые больше или равны delay_evaluation.
0
TruncationSelectionPolicy
Ключ
Тип
Описание
Допустимые значения
Default value
type
const
Обязательный. Тип политики.
truncation_selection
truncation_percentage
integer
Обязательный. Процент заданий пробной версии для отмены в каждом интервале оценки.
evaluation_interval
integer
Частота применения политики.
1
delay_evaluation
integer
Число интервалов, для которых откладывается первая оценка политики. Если этот параметр указан, политика применяется ко всем кратным evaluation_interval, которые больше или равны delay_evaluation.
0
Выражения параметров
Выбранный вариант
Ключ
Тип
Описание
Допустимые значения
type
const
Обязательный. Тип выражения.
choice
values
array
Обязательный. Список дискретных значений, из которых нужно выбрать.
Рэндинт
Ключ
Тип
Описание
Допустимые значения
type
const
Обязательный. Тип выражения.
randint
upper
integer
Обязательный. Исключенная верхняя граница диапазона целых чисел.
Qlognormal, qnormal
Ключ
Тип
Описание
Допустимые значения
type
const
Обязательный. Тип выражения.
qlognormal, qnormal
mu
number
Обязательный. Среднее значение нормального распределения.
sigma
number
Обязательный. Стандартное отклонение от нормального распределения.
q
integer
Обязательный. Коэффициент сглаживания.
Qloguniform, quniform
Ключ
Тип
Описание
Допустимые значения
type
const
Обязательный. Тип выражения.
qloguniform, quniform
min_value
number
Обязательный. Минимальное значение в диапазоне (включительно).
max_value
number
Обязательный. Максимальное значение в диапазоне (включительно).
q
integer
Обязательный. Коэффициент сглаживания.
Lognormal, normal
Ключ
Тип
Описание
Допустимые значения
type
const
Обязательный. Тип выражения.
lognormal, normal
mu
number
Обязательный. Среднее значение нормального распределения.
sigma
number
Обязательный. Стандартное отклонение от нормального распределения.
Loguniform
Ключ
Тип
Описание
Допустимые значения
type
const
Обязательный. Тип выражения.
loguniform
min_value
number
Обязательный. Минимальное значение в диапазоне — exp(min_value) (включительно).
max_value
number
Обязательный. Максимальное значение диапазона — exp(max_value) (включительно).
Пропорционально
Ключ
Тип
Описание
Допустимые значения
type
const
Обязательный. Тип выражения.
uniform
min_value
number
Обязательный. Минимальное значение в диапазоне (включительно).
max_value
number
Обязательный. Максимальное значение в диапазоне (включительно).
Атрибуты ключа limits
Ключ
Тип
Описание
Default value
max_total_trials
integer
Максимальное количество заданий пробной версии.
1000
max_concurrent_trials
integer
Максимальное количество заданий пробной версии, которые могут выполняться одновременно.
По умолчанию — max_total_trials.
timeout
integer
Максимальное время в секундах, в течение всего задания очистки разрешено выполняться. После достижения этого ограничения система отменяет задание очистки, включая все его пробные версии.
5184000
trial_timeout
integer
Максимальное время в секундах, в течение которого разрешено выполнение задания пробной версии. После достижения этого ограничения система отменяет пробную версию.
Атрибуты ключа trial
Ключ
Тип
Описание
Default value
command
строка
Обязательный. Команда для выполнения.
code
строка
Локальный путь к каталогу исходного кода, который будет отправлен и использован для задания.
environment
Строка или объект
Обязательный. Среда, используемая для задания. Это значение может быть ссылкой на существующую среду с управлением версиями в рабочей области или спецификацией встроенной среды.
Чтобы сослаться на существующую среду, используйте синтаксис azureml:<environment-name>:<environment-version>.
Чтобы определить встроенную среду, следуйте схеме среды. Исключите и version свойства, так как встроенные name среды не поддерживают их.
environment_variables
объект
Словарь пар "имя-значение" переменной среды, устанавливаемых для процесса, в котором выполняется команда.
Обязательный. Количество процессов, запускаемых на каждом узле для выполнения задания.
PyTorchConfiguration
Ключ
Тип
Описание
Допустимые значения
Default value
type
const
Обязательный. Тип распределения.
pytorch
process_count_per_instance
integer
Количество процессов, запускаемых на каждом узле для выполнения задания.
1
TensorFlowConfiguration
Ключ
Тип
Описание
Допустимые значения
Default value
type
const
Обязательный. Тип распределения.
tensorflow
worker_count
integer
Количество рабочих ролей, которые необходимо запустить для выполнения задания.
По умолчанию — resources.instance_count.
parameter_server_count
integer
Количество серверов параметров, которые необходимо запустить для выполнения задания.
0
Входные данные задания
Ключ
Тип
Описание
Допустимые значения
Default value
type
строка
Тип входных данных для задания. Укажите uri_file, чтобы использовать в качестве источника входные данные из одного файла, или uri_folder, чтобы использовать весь каталог с файлами. Дополнительные сведения см. в статье "Дополнительные сведения о доступе к данным".
uri_file, , uri_foldermltablemlflow_model
uri_folder
path
строка
Путь к данным, которые используются в качестве входных данных. Это значение можно указать несколькими способами:
– локальный путь к файлу или папке источника данных, например path: ./iris.csv. Данные отправляются во время отправки задания.
— универсальный код ресурса (URI) для облачного пути к файлу или папке, которые нужно использовать в качестве входных данных. Поддерживаются следующие типы URI: azureml, https, wasbs, abfss, adl. Дополнительные сведения об использовании формата URI см. в синтаксисе azureml://Core yaml.
— Существующий зарегистрированный Машинное обучение Azure ресурс данных, используемый в качестве входных данных. Чтобы ссылаться на зарегистрированный ресурс данных, используйте azureml:<data_name>:<data_version> синтаксис или azureml:<data_name>@latest (чтобы ссылаться на последнюю версию этого ресурса данных), например path: azureml:cifar10-data:1 или path: azureml:cifar10-data@latest.
mode
строка
Режим доставки данных в целевой объект вычислений.
Для подключения только для чтения (ro_mount) данные используются в качестве пути подключения. Папка подключена как папка, и файл подключается в виде файла. Машинное обучение Azure разрешает входные данные пути подключения.
В download режиме данные загружаются в целевой объект вычислений. Машинное обучение Azure разрешает входные данные в скачанный путь.
Для только URL-адреса расположения хранилища артефактов или артефактов данных вместо подключения или загрузки самих данных используйте direct режим. Это передает URL-адрес расположения хранилища в качестве входных данных задания. В этом случае вам придется самостоятельно обрабатывать учетные данные для доступа к хранилищу.
ro_mount, , downloaddirect
ro_mount
Выходные данные задания
Ключ
Тип
Описание
Допустимые значения
Default value
type
строка
Тип выходных данных задания. Для типа по умолчанию uri_folder выходные данные соответствуют папке.
uri_file, , uri_foldermltablemlflow_model
uri_folder
mode
строка
Режим доставки выходного файла или файлов в целевое хранилище. Для режима подключения чтения и записи (rw_mount) выходной каталог является подключенным каталогом. В режиме отправки все файлы, записанные в конце задания, отправляются.
rw_mount, upload
rw_mount
Конфигурации удостоверений
UserIdentityConfiguration
Ключ
Тип
Описание
Допустимые значения
type
const
Обязательный. Тип удостоверения.
user_identity
ManagedIdentityConfiguration
Ключ
Тип
Описание
Допустимые значения
type
const
Обязательный. Тип удостоверения.
managed или managed_identity
Замечания
С помощью az ml job команды можно управлять заданиями Машинное обучение Azure.