Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
ПРИМЕНЯЕТСЯ К:
Расширение Azure CLI ML версии 2 (текущий)
Исходную схему JSON можно найти по адресу https://azuremlschemas.azureedge.net/latest/commandJob.schema.json.
Note
Синтаксис YAML, описанный в этом документе, основан на схеме JSON для последней версии расширения ML CLI (версия 2). Этот синтаксис гарантированно работает только с последней версией расширения ML CLI (версия 2). Схемы для старых версий расширений можно найти по адресу https://azuremlschemasprod.azureedge.net/.
YAML syntax
| Key | Type | Description | Allowed values | Default value |
|---|---|---|---|---|
$schema |
string | Схема YAML. При создании файла YAML с помощью расширения VS Code Машинного обучения Azure вы можете добавить $schema в верхней части файла, чтобы вызывать завершение схемы и ресурсов. |
||
type |
const | Тип задания. | command |
command |
name |
string | Имя задания. Должно быть уникальным для всех заданий в рабочей области. Если опущено, Машинное обучение Azure автоматически создает GUID для имени. | ||
display_name |
string | Отображаемое имя задания в пользовательском интерфейсе студии. Может быть неуникален в рабочей области. Если опущено, Машинное обучение Azure автоматически создает идентификатор прилагательного имени, доступный для чтения. | ||
experiment_name |
string | Имя эксперимента, по которому будет организовано задание. Запись выполнения каждого задания организована в соответствии с соответствующим экспериментом на вкладке "Эксперименты" студии. Если опущено, машинное обучение Azure по умолчанию использует имя рабочего каталога, в котором было создано задание. | ||
description |
string | Описание задания. | ||
tags |
object | Словарь тегов для задания. | ||
command |
string | Команда для выполнения. | ||
code |
string | Локальный путь к каталогу исходного кода, который будет отправлен и использован для задания. | ||
environment |
строка или объект | Среда, используемая для задания. Может быть ссылка на существующую версию среды в рабочей области или встроенную спецификацию среды. Чтобы ссылаться на существующую среду, используйте azureml:<environment_name>:<environment_version> синтаксис или azureml:<environment_name>@latest (чтобы ссылаться на последнюю версию среды). Чтобы определить встроенную среду, следуйте схеме среды. name Исключите свойства и version свойства, так как они не поддерживаются для встроенных сред.При работе с курируемыми средами в CLI или пакете SDK имена курируемых сред начинаются с AzureML-. При использовании студии машинного обучения Azure имена курируемых сред не имеют этого префикса. Причина этой разницы состоит в том, что пользовательский интерфейс студии отображает готовые и пользовательские среды на отдельных вкладках, поэтому префикс не требуется. CLI и SDK не имеют такого разделения, поэтому префикс используется для различения между курируемыми и пользовательскими средами. |
||
environment_variables |
object | Словарь пар переменных переменных ключей среды, которые необходимо задать в процессе выполнения команды. | ||
distribution |
object | Конфигурация распределения для сценариев распределенного обучения. Одна из MpiConfiguration, PyTorchConfiguration, TensorFlowConfiguration или RayConfiguration. | ||
compute |
string | Имя целевого объекта вычислений для выполнения задания. Может быть ссылка на существующие вычислительные ресурсы в рабочей области (с помощью синтаксиса azureml:<compute_name> ) или local назначить локальное выполнение.
Примечание. Задания в конвейере не поддерживаются local как compute |
local |
|
resources.instance_count |
integer | Число узлов, используемых для задания. | 1 |
|
resources.instance_type |
string | Тип экземпляра, используемый для задания. Применимо для заданий, выполняемых в вычислительных ресурсах Kubernetes с поддержкой Azure Arc (где целевой computeобъект вычислений, указанный в type: kubernetes поле). Если опущен, по умолчанию используется тип экземпляра по умолчанию для кластера Kubernetes. Дополнительные сведения см. в разделе "Создание типов экземпляров и управление ими". |
||
resources.shm_size |
string | Размер общего блока памяти контейнера Docker. Должен быть в формате <number><unit> , где число должно быть больше 0, а единица может быть одной из b (байт), k (килобайтов), m (мегабайтов) или g (гигабайтов). |
2g |
|
resources.docker_args |
string | Дополнительные аргументы для передачи команде Docker run . |
||
resources.locations |
array | Список расположений регионов, где задание разрешено выполнять. | ||
resources.max_instance_count |
integer | Максимальное количество узлов, используемых для задания (для эластичного распределенного обучения). | ||
limits.timeout |
integer | Максимальное время выполнения задания в секундах. По достижении этого ограничения система отменяет задание. | ||
inputs |
object | Словарь входных данных для задания. Ключ — это имя входных данных в контексте задания, а значение — это входное значение. На входные данные можно ссылаться в command с помощью выражения ${{ inputs.<input_name> }}. |
||
inputs.<input_name> |
число, целое число, логическое значение, строка или объект | Одно из литеральных значений (с типом Number, Integer, Boolean или String) или объект, содержащий спецификацию входных данных для задания. | ||
outputs |
object | Словарь конфигураций выходных данных для задания. Ключ — это имя выходных данных в контексте задания, а значение — выходная конфигурация. На выходные данные можно ссылаться в command с помощью выражения ${{ outputs.<output_name> }}. |
||
outputs.<output_name> |
object | Вы можете оставить объект пустым, в этом случае выходные данные по умолчанию являются типом uri_folder , и Машинное обучение Azure создает выходное расположение для выходных данных. Файлы в выходной каталог записываются с помощью подключения чтения и записи. Если вы хотите указать другой режим выходных данных, укажите объект, содержащий спецификацию выходных данных задания. |
||
queue_settings |
object | Параметры очереди для задания. Настройте уровень заданий и приоритет планирования. См. параметры очереди. | ||
services |
object | Словарь интерактивных служб заданий (конечных точек). Поддерживаемые типы служб: ssh, tensor_board, vs_codejupyter_lab. |
||
identity |
object | Удостоверение используется для доступа к данным. Это может быть UserIdentityConfiguration, ManagedIdentityConfiguration, AMLTokenIdentityConfiguration или None. Если UserIdentityConfiguration, удостоверение отправителя заданий используется для доступа к входным данным и записи результатов в выходную папку; в противном случае используется управляемое удостоверение целевого объекта вычислений. |
Distribution configurations
MpiConfiguration
| Key | Type | Description | Allowed values |
|---|---|---|---|
type |
const | Required. Distribution type. | mpi |
process_count_per_instance |
integer | Required. Количество процессов, запускаемых на каждом узле для выполнения задания. |
PyTorchConfiguration
| Key | Type | Description | Allowed values | Default value |
|---|---|---|---|---|
type |
const | Required. Distribution type. | pytorch |
|
process_count_per_instance |
integer | Количество процессов, запускаемых на каждом узле для выполнения задания. | 1 |
TensorFlowConfiguration
| Key | Type | Description | Allowed values | Default value |
|---|---|---|---|---|
type |
const | Required. Distribution type. | tensorflow |
|
worker_count |
integer | Количество рабочих ролей, которые необходимо запустить для выполнения задания. | По умолчанию — resources.instance_count. |
|
parameter_server_count |
integer | Количество серверов параметров, которые необходимо запустить для выполнения задания. | 0 |
RayConfiguration
| Key | Type | Description | Allowed values | Default value |
|---|---|---|---|---|
type |
const | Required. Distribution type. | ray |
|
address |
string | Адрес существующего кластера Ray для подключения. Если опущено, машинное обучение Azure запускает новый кластер Ray. | ||
port |
integer | Порт процесса луча головы. | ||
dashboard_port |
integer | Порт процесса панели мониторинга Ray. | ||
include_dashboard |
boolean | Запуск панели мониторинга Ray. | ||
head_node_additional_args |
string | Дополнительные аргументы, ray start передаваемые на головной узел. |
||
worker_node_additional_args |
string | Дополнительные аргументы, ray start передаваемые на рабочие узлы. |
Job inputs
| Key | Type | Description | Allowed values | Default value |
|---|---|---|---|---|
type |
string | Тип входных данных для задания. Укажите uri_file, чтобы использовать в качестве источника входные данные из одного файла, или uri_folder, чтобы использовать весь каталог с файлами. |
uri_file, , uri_foldermlflow_modelcustom_model |
uri_folder |
path |
string | Путь к данным, которые используются в качестве входных данных. Можно указать несколько способов: — локальный путь к файлу или папке источника данных, например path: ./iris.csv. Данные передаются во время отправки задания. — универсальный код ресурса (URI) для облачного пути к файлу или папке, которые нужно использовать в качестве входных данных. Поддерживаются следующие типы URI: azureml, https, wasbs, abfss, adl. Дополнительные сведения об использовании формата URI см. в синтаксисе azureml://. — Существующий зарегистрированный Машинное обучение Azure ресурс данных, используемый в качестве входных данных. Чтобы ссылаться на зарегистрированный ресурс данных, используйте azureml:<data_name>:<data_version> синтаксис или azureml:<data_name>@latest (чтобы ссылаться на последнюю версию этого ресурса данных), например path: azureml:cifar10-data:1 или path: azureml:cifar10-data@latest. |
||
mode |
string | Режим доставки данных в целевой объект вычислений. Для подключения только для чтения ( ro_mount) данные используются в качестве пути подключения. Папка подключена как папка, и файл подключается в виде файла. Машинное обучение Azure разрешает входные данные пути подключения. В download режиме данные загружаются в целевой объект вычислений. Машинное обучение Azure разрешает входные данные в скачанный путь. Если требуется только URL-адрес расположения хранилища артефактов данных, а не подключение или скачивание самих данных, можно использовать direct режим. Этот режим передает URL-адрес расположения хранилища в качестве входных данных задания. В этом случае вам придется самостоятельно обрабатывать учетные данные для доступа к хранилищу. Режимы eval_mount и eval_download режимы являются уникальными для MLTable, а данные подключаются как путь или загружаются в целевой объект вычислений. Дополнительные сведения о режимах см. в разделе "Доступ к данным в задании" |
ro_mount, , downloaddirect, eval_downloadeval_mount |
ro_mount |
Job outputs
| Key | Type | Description | Allowed values | Default value |
|---|---|---|---|---|
type |
string | Тип выходных данных для задания. Для типа по умолчанию uri_folder выходные данные соответствуют папке. |
uri_folder, , mlflow_modelcustom_model |
uri_folder |
mode |
string | Режим доставки выходных файлов в целевое хранилище. Для режима подключения чтения и записи (rw_mount) выходной каталог является подключенным каталогом. В режиме отправки файлы, записанные в конце задания, отправляются. |
rw_mount, upload |
rw_mount |
Identity configurations
UserIdentityConfiguration
| Key | Type | Description | Allowed values |
|---|---|---|---|
type |
const | Required. Identity type. | user_identity |
ManagedIdentityConfiguration
| Key | Type | Description | Allowed values |
|---|---|---|---|
type |
const | Required. Identity type. |
managed или managed_identity |
AMLTokenIdentityConfiguration
| Key | Type | Description | Allowed values |
|---|---|---|---|
type |
const | Required. Identity type. Задание использует маркер машинного обучения Azure рабочей области для доступа к данным. | aml_token |
Queue settings
| Key | Type | Description | Allowed values | Default value |
|---|---|---|---|---|
job_tier |
string | Уровень задания.
spot использует предварительное вычисление с более низкой стоимостью. |
spot, , basicstandardpremium |
|
priority |
string | Приоритет планирования в выбранном уровне. |
low, , mediumhigh |
Remarks
Команду az ml job можно использовать для управления заданиями Машинного обучения Azure.
Examples
Примеры доступны в репозитории примеров GitHub. В следующих разделах показаны некоторые примеры.
YAML: привет, мир
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
command: echo "hello world"
environment:
image: library/python:latest
YAML: отображаемое имя, имя эксперимента, описание и теги
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
command: echo "hello world"
environment:
image: library/python:latest
tags:
hello: world
display_name: hello-world-example
experiment_name: hello-world-example
description: |
# Azure Machine Learning "hello world" job
This is a "hello world" job running in the cloud via Azure Machine Learning!
## Description
Markdown is supported in the studio for job descriptions! You can edit the description there or via CLI.
YAML: переменные среды
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
command: echo $hello_env_var
environment:
image: library/python:latest
environment_variables:
hello_env_var: "hello world"
YAML: исходный код
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
command: ls
code: src
environment:
image: library/python:latest
YAML: литеральные входные данные
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
command: |
echo ${{inputs.hello_string}}
echo ${{inputs.hello_number}}
environment:
image: library/python:latest
inputs:
hello_string: "hello world"
hello_number: 42
YAML: запись в выходные данные по умолчанию
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
command: echo "hello world" > ./outputs/helloworld.txt
environment:
image: library/python:latest
YAML: запись в именованные выходные данные
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
command: echo "hello world" > ${{outputs.hello_output}}/helloworld.txt
outputs:
hello_output:
environment:
image: python
YAML: входные данные файла URI хранилища данных
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
command: |
echo "--iris-csv: ${{inputs.iris_csv}}"
python hello-iris.py --iris-csv ${{inputs.iris_csv}}
code: src
inputs:
iris_csv:
type: uri_file
path: azureml://datastores/workspaceblobstore/paths/example-data/iris.csv
environment: azureml://registries/azureml/environments/sklearn-1.5/labels/latest
YAML: входные данные папки URI хранилища данных
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
command: |
ls ${{inputs.data_dir}}
echo "--iris-csv: ${{inputs.data_dir}}/iris.csv"
python hello-iris.py --iris-csv ${{inputs.data_dir}}/iris.csv
code: src
inputs:
data_dir:
type: uri_folder
path: azureml://datastores/workspaceblobstore/paths/example-data/
environment: azureml://registries/azureml/environments/sklearn-1.5/labels/latest
YAML: входные данные файла URI
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
command: |
echo "--iris-csv: ${{inputs.iris_csv}}"
python hello-iris.py --iris-csv ${{inputs.iris_csv}}
code: src
inputs:
iris_csv:
type: uri_file
path: https://azuremlexamples.blob.core.windows.net/datasets/iris.csv
environment: azureml://registries/azureml/environments/sklearn-1.5/labels/latest
YAML: входные данные папки URI
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
command: |
ls ${{inputs.data_dir}}
echo "--iris-csv: ${{inputs.data_dir}}/iris.csv"
python hello-iris.py --iris-csv ${{inputs.data_dir}}/iris.csv
code: src
inputs:
data_dir:
type: uri_folder
path: wasbs://datasets@azuremlexamples.blob.core.windows.net/
environment: azureml://registries/azureml/environments/sklearn-1.5/labels/latest
YAML: Записная книжка с помощью бумажной мельницы
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
command: |
pip install ipykernel papermill
papermill hello-notebook.ipynb outputs/out.ipynb -k python
code: src
environment:
image: library/python:3.11.6
YAML: обучение базовой модели Python
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
code: src
command: >-
python main.py
--iris-csv ${{inputs.iris_csv}}
--C ${{inputs.C}}
--kernel ${{inputs.kernel}}
--coef0 ${{inputs.coef0}}
inputs:
iris_csv:
type: uri_file
path: wasbs://datasets@azuremlexamples.blob.core.windows.net/iris.csv
C: 0.8
kernel: "rbf"
coef0: 0.1
environment: azureml://registries/azureml/environments/sklearn-1.5/labels/latest
compute: azureml:cpu-cluster
display_name: sklearn-iris-example
experiment_name: sklearn-iris-example
description: Train a scikit-learn SVM on the Iris dataset.
YAML: базовое обучение модели R с локальным контекстом сборки Docker
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
command: >
source /usr/venv/bin/activate
Rscript train.R
--data_folder ${{inputs.iris}}
code: src
inputs:
iris:
type: uri_file
path: https://azuremlexamples.blob.core.windows.net/datasets/iris.csv
environment:
build:
path: docker-context
compute: azureml:cpu-cluster
display_name: r-iris-example
experiment_name: r-iris-example
description: Train an R model on the Iris dataset.
YAML: распределенный PyTorch
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
code: src
command: >-
python train.py
--epochs ${{inputs.epochs}}
--learning-rate ${{inputs.learning_rate}}
--data-dir ${{inputs.cifar}}
inputs:
epochs: 1
learning_rate: 0.2
cifar:
type: uri_folder
path: azureml:cifar-10-example@latest
environment: azureml:AzureML-acpt-pytorch-2.8-cuda12.6@latest
compute: azureml:gpu-cluster
distribution:
type: pytorch
process_count_per_instance: 1
resources:
instance_count: 2
display_name: pytorch-cifar-distributed-example
experiment_name: pytorch-cifar-distributed-example
description: Train a basic convolutional neural network (CNN) with PyTorch on the CIFAR-10 dataset, distributed via PyTorch.
YAML: распределенный TensorFlow
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
code: src
command: >-
python train.py
--epochs ${{inputs.epochs}}
--model-dir ${{inputs.model_dir}}
inputs:
epochs: 1
model_dir: outputs/keras-model
environment: azureml:AzureML-tensorflow-2.16-cuda12@latest
compute: azureml:gpu-cluster
resources:
instance_count: 2
distribution:
type: tensorflow
worker_count: 2
display_name: tensorflow-mnist-distributed-example
experiment_name: tensorflow-mnist-distributed-example
description: Train a basic neural network with TensorFlow on the MNIST dataset, distributed via TensorFlow.