La sintaxis de YAML que se detalla en este documento se basa en el esquema JSON de la versión más reciente de la extensión ML de la CLI v2. Se garantiza que esta sintaxis solo funciona con la versión más reciente de la extensión ML de la CLI v2.
Dispone de los esquemas de las versiones de anteriores de la extensión en https://azuremlschemasprod.azureedge.net/.
Sintaxis de YAML
Clave
Tipo
Descripción
Valores permitidos
Valor predeterminado
$schema
string
Esquema de YAML. Si usa la extensión VS Code de Azure Machine Learning para crear el archivo YAML, puede invocar las finalizaciones del esquema y los recursos sin incluye $schema en la parte superior del archivo.
type
const
Necesario. Tipo de trabajo.
sweep
sweep
name
string
Nombre del trabajo. Debe ser único en todos los trabajos del área de trabajo. Si se omite, Azure Machine Learning genera automáticamente un GUID para el nombre.
display_name
string
Nombre para mostrar del trabajo en la interfaz de usuario de Studio. Puede no ser único dentro del área de trabajo. Si se omite, Azure Machine Learning genera automáticamente un identificador adjetivo-sustantivo legible para el nombre para mostrar.
experiment_name
string
Organice el trabajo bajo el nombre del experimento. El registro de ejecución de cada trabajo está organizado según el experimento correspondiente en la pestaña "Experimentos" de Estudio. Si se omite, Azure Machine Learning tiene experiment_name como valor predeterminado el nombre del directorio de trabajo donde se creó el trabajo.
Necesario. El nombre de la métrica principal notificada por cada trabajo de prueba. La métrica debe iniciar sesión en el script de entrenamiento del usuario, con mlflow.log_metric() el mismo nombre de métrica correspondiente.
objective.goal
string
Necesario. El objetivo de la optimización de objective.primary_metric.
maximize, minimize
early_termination
object
La directiva de terminación anticipada que se va a usar. Un trabajo de prueba se cancela cuando se cumplen los criterios de la directiva especificada. Si se omite, no se aplica ninguna directiva de terminación anticipada. BanditPolicy, MedianStoppingPolicy o TruncationSelectionPolicy.
Necesario. Nombre del destino de proceso en el que se va a ejecutar el trabajo, con la azureml:<compute_name> sintaxis .
trial
objeto
Necesario. La plantilla de trabajo para cada prueba. Cada trabajo de prueba se proporciona con una combinación diferente de valores de hiperparámetros que muestra el sistema de .search_space Visite Atributos de la trial clave.
inputs
objeto
Diccionario de entradas para el trabajo. La clave es un nombre para la entrada dentro del contexto del trabajo y el valor es el valor de entrada.
Se puede hacer referencia a las entradas en command mediante la expresión ${{ inputs.<input_name> }}.
inputs.<input_name>
número, entero, booleano, cadena u objeto
Uno de un valor literal (de tipo number, integer, boolean o string) o un objeto que contiene una especificación de datos de entrada de trabajo.
outputs
objeto
Diccionario de configuraciones de salida del trabajo. La clave es un nombre para la salida dentro del contexto del trabajo y el valor es la configuración de salida.
Se puede hacer referencia a las salidas en command mediante la expresión ${{ outputs.<output_name> }}.
outputs.<output_name>
objeto
Puede dejar el objeto vacío y, en ese caso, de forma predeterminada, la salida es de uri_folder tipo y el sistema de Azure Machine Learning genera una ubicación de salida para la salida. Todos los archivos en el directorio de salida se escriben a través del montaje de lectura y escritura. Para especificar un modo diferente para la salida, proporcione un objeto que contenga la especificación de salida del trabajo.
identity
objeto
La identidad se usa para el acceso a datos. Puede ser Configuración de identidad de usuario, Configuración de identidad administrada o Ninguna. Para UserIdentityConfiguration, la identidad del remitente de trabajos se usa para acceder a los datos de entrada y escribir el resultado en la carpeta de salida. De lo contrario, se usa la identidad administrada del destino de proceso.
Algoritmos de muestreo
RandomSamplingAlgorithm
Clave
Tipo
Descripción
Valores permitidos
Valor predeterminado
type
const
Necesario. El tipo del algoritmo de muestreo.
random
seed
integer
Inicialización aleatoria que se usará para inicializar la generación de números aleatorios. Si se omite, el valor de inicialización predeterminado es NULL.
rule
string
Tipo de muestreo aleatorio que se usará. El valor predeterminado, random, usa el muestreo aleatorio uniforme simple, mientras que sobol usa la secuencia cuasi-aleatoria de Sobol.
random, sobol
random
GridSamplingAlgorithm
Clave
Tipo
Descripción
Valores permitidos
type
const
Necesario. Tipo de algoritmo de muestreo.
grid
BayesianSamplingAlgorithm
Clave
Tipo
Descripción
Valores permitidos
type
const
Necesario. Tipo de algoritmo de muestreo.
bayesian
Directivas de terminación anticipada
BanditPolicy
Clave
Tipo
Descripción
Valores permitidos
Valor predeterminado
type
const
Necesario. El tipo de política.
bandit
slack_factor
number
La proporción usada para calcular la distancia permitida de la prueba con mejor rendimiento. Se requiere slack_factor o slack_amount.
slack_amount
number
La distancia absoluta permitida de la prueba con mejor rendimiento. Se requiere slack_factor o slack_amount.
evaluation_interval
integer
La frecuencia con la que se aplica la directiva.
1
delay_evaluation
integer
El número de intervalos que se va a retrasar la primera evaluación de directiva. Si se especifica, la directiva se aplica a cada múltiplo de evaluation_interval que sea mayor que o igual a delay_evaluation.
0
MedianStoppingPolicy
Clave
Tipo
Descripción
Valores permitidos
Valor predeterminado
type
const
Necesario. El tipo de política.
median_stopping
evaluation_interval
integer
La frecuencia con la que se aplica la directiva.
1
delay_evaluation
integer
El número de intervalos que se va a retrasar la primera evaluación de directiva. Si se especifica, la directiva se aplica a cada múltiplo de evaluation_interval que sea mayor que o igual a delay_evaluation.
0
TruncationSelectionPolicy
Clave
Tipo
Descripción
Valores permitidos
Valor predeterminado
type
const
Necesario. El tipo de política.
truncation_selection
truncation_percentage
integer
Necesario. El porcentaje de trabajos de prueba que se cancelarán en cada intervalo de evaluación.
evaluation_interval
integer
La frecuencia con la que se aplica la directiva.
1
delay_evaluation
integer
El número de intervalos que se va a retrasar la primera evaluación de directiva. Si se especifica, la directiva se aplica a cada múltiplo de evaluation_interval que sea mayor que o igual a delay_evaluation.
0
Expresiones de parámetro
Opción
Clave
Tipo
Descripción
Valores permitidos
type
const
Necesario. El tipo de expresión.
choice
values
array
Necesario. Lista de valores discretos de los que se va a elegir.
Randint
Clave
Tipo
Descripción
Valores permitidos
type
const
Necesario. El tipo de expresión.
randint
upper
integer
Necesario. El límite superior exclusivo para el intervalo de enteros.
Qlognormal, qnormal
Clave
Tipo
Descripción
Valores permitidos
type
const
Necesario. El tipo de expresión.
qlognormal, qnormal
mu
number
Obligatorio. La media de la distribución normal.
sigma
number
Obligatorio. La desviación estándar de la distribución normal.
q
integer
Necesario. El factor de suavizado.
Qloguniform, quniform
Clave
Tipo
Descripción
Valores permitidos
type
const
Necesario. El tipo de expresión.
qloguniform, quniform
min_value
number
Obligatorio. El valor mínimo del intervalo (inclusivo).
max_value
number
Obligatorio. El valor máximo del intervalo (inclusivo).
q
integer
Necesario. El factor de suavizado.
Lognormal, normal
Clave
Tipo
Descripción
Valores permitidos
type
const
Necesario. El tipo de expresión.
lognormal, normal
mu
number
Obligatorio. La media de la distribución normal.
sigma
number
Obligatorio. La desviación estándar de la distribución normal.
Loguniform
Clave
Tipo
Descripción
Valores permitidos
type
const
Necesario. El tipo de expresión.
loguniform
min_value
number
Necesario. El valor mínimo del intervalo es exp(min_value) (inclusivo).
max_value
number
Necesario. El valor máximo del intervalo es exp(max_value) (inclusivo).
Uniforme
Clave
Tipo
Descripción
Valores permitidos
type
const
Necesario. El tipo de expresión.
uniform
min_value
number
Obligatorio. El valor mínimo del intervalo (inclusivo).
max_value
number
Obligatorio. El valor máximo del intervalo (inclusivo).
Atributos de la clave limits
Clave
Tipo
Descripción
Valor predeterminado
max_total_trials
integer
El número máximo de trabajos de prueba.
1000
max_concurrent_trials
integer
Número máximo de trabajos que se pueden ejecutar simultáneamente (opcional).
Tiene como valor predeterminado max_total_trials.
timeout
integer
Tiempo máximo en segundos, que se permite ejecutar todo el trabajo de barrido. Una vez alcanzado este límite, el sistema cancela el trabajo de barrido, incluidas todas sus pruebas.
5184000
trial_timeout
integer
El tiempo máximo en segundos durante el que se puede ejecutar cada trabajo de prueba. Una vez alcanzado este límite, el sistema cancela la versión de prueba.
Atributos de la clave trial
Clave
Tipo
Descripción
Valor predeterminado
command
string
Necesario. El comando que se debe ejecutar.
code
string
Ruta de acceso local al directorio de código fuente que se va a cargar y usar para el trabajo.
environment
cadena u objeto
Necesario. El entorno que se usará para el trabajo. Este valor puede ser una referencia a un entorno con versiones existente en el área de trabajo o una especificación de entorno en línea.
Para hacer referencia a un entorno existente, use la sintaxis azureml:<environment-name>:<environment-version>.
Para definir un entorno en línea, siga el Esquema de entorno. Excluya las name propiedades y version porque los entornos insertados no los admiten.
environment_variables
objeto
Diccionario de pares de nombre-valor de variables de entorno que se establecerán en el proceso donde se ejecuta el comando.
distribution
object
La configuración de distribución para escenarios de entrenamiento distribuido. Una de las configuraciones de Mpi, configuración de PyTorch o configuración de TensorFlow.
resources.instance_count
integer
El número de nodos que se usarán para el trabajo.
1
Configuraciones de distribución
MpiConfiguration
Clave
Tipo
Descripción
Valores permitidos
type
const
Necesario. Tipo de distribución.
mpi
process_count_per_instance
integer
Necesario. El número de procesos por nodo que se inician para el trabajo.
PyTorchConfiguration
Clave
Tipo
Descripción
Valores permitidos
Valor predeterminado
type
const
Necesario. Tipo de distribución.
pytorch
process_count_per_instance
integer
El número de procesos por nodo que se inician para el trabajo.
1
TensorFlowConfiguration
Clave
Tipo
Descripción
Valores permitidos
Valor predeterminado
type
const
Necesario. Tipo de distribución.
tensorflow
worker_count
integer
El número de trabajos que se inician para el trabajo.
Tiene como valor predeterminado resources.instance_count.
parameter_server_count
integer
El número de servidores de parámetros que se inician para el trabajo.
0
Entradas de trabajo
Clave
Tipo
Descripción
Valores permitidos
Valor predeterminado
type
string
Tipo de entrada de trabajo. Especifique uri_file para los datos de entrada que apunte a un único origen de archivo o uri_folder para los datos de entrada que apunte a un origen de carpeta. Para más información, visite Más información sobre el acceso a datos.
uri_file, uri_folder, , mltable, mlflow_model
uri_folder
path
string
Ruta de acceso a los datos que se va a usar como entrada. Este valor se puede especificar de varias maneras:
- Ruta de acceso local al archivo o carpeta del origen de datos, por ejemplo, path: ./iris.csv. Los datos se cargan durante el envío del trabajo.
- URI de una ruta de acceso a la nube al archivo o carpeta que se va a usar como entrada. Los tipos de URI admitidos son azureml, https, wasbs, abfss, adl. Para obtener más información sobre el uso del azureml:// formato URI, visite Sintaxis yaml de Core.
- Recurso de datos de Azure Machine Learning registrado existente que se va a usar como entrada. Para hacer referencia a un recurso de datos registrado, use la azureml:<data_name>:<data_version> sintaxis o azureml:<data_name>@latest (para hacer referencia a la versión más reciente de ese recurso de datos), por ejemplo, path: azureml:cifar10-data:1 o path: azureml:cifar10-data@latest.
mode
string
Modo de cómo se deben entregar los datos al destino de proceso.
Para el montaje de solo lectura (ro_mount), los datos se consumen como ruta de acceso de montaje. Una carpeta se monta como una carpeta y un archivo se monta como un archivo. Azure Machine Learning resuelve la entrada en la ruta de acceso de montaje.
En download el modo , los datos se descargan en el destino de proceso. Azure Machine Learning resuelve la entrada en la ruta de acceso descargada.
Para la dirección URL de la ubicación de almacenamiento del artefacto de datos o artefactos, en lugar de montar o descargar los datos en sí, use el direct modo . Esto pasa la dirección URL de la ubicación de almacenamiento como entrada del trabajo. En este caso, el usuario es el único responsable de controlar las credenciales para acceder al almacenamiento.
ro_mount, , download, direct
ro_mount
Salidas de trabajo
Clave
Tipo
Descripción
Valores permitidos
Valor predeterminado
type
string
Tipo de salida del trabajo. Para el tipo predeterminado uri_folder, la salida corresponde a una carpeta.
uri_file, uri_folder, , mltable, mlflow_model
uri_folder
mode
string
Modo de entrega del archivo o archivos de salida al almacenamiento de destino. Para el modo de montaje de lectura y escritura (rw_mount), el directorio de salida es un directorio montado. Para el modo de carga, todos los archivos escritos se cargan al final del trabajo.
rw_mount, upload
rw_mount
Configuraciones de identidad
UserIdentityConfiguration
Clave
Tipo
Descripción
Valores permitidos
type
const
Necesario. Tipo de identidad.
user_identity
ManagedIdentityConfiguration
Clave
Tipo
Descripción
Valores permitidos
type
const
Necesario. Tipo de identidad.
managed o managed_identity
Comentarios
Puede usar el az ml job comando para administrar trabajos de Azure Machine Learning.
Ejemplos
Visite el repositorio de GitHub de ejemplos para obtener ejemplos. Aquí se muestran varios: