Compartir a través de


SweepJob Clase

Trabajo de barrido para el ajuste de hiperparámetros.

Herencia
azure.ai.ml.entities._job.job.Job
SweepJob
azure.ai.ml.entities._job.sweep.parameterized_sweep.ParameterizedSweep
SweepJob
azure.ai.ml.entities._job.job_io_mixin.JobIOMixin
SweepJob

Constructor

SweepJob(*, name: str | None = None, description: str | None = None, tags: Dict | None = None, display_name: str | None = None, experiment_name: str | None = None, identity: ManagedIdentityConfiguration | AmlTokenConfiguration | UserIdentityConfiguration | None = None, inputs: Dict[str, int | str | float | bool | Input] | None = None, outputs: Dict[str, Output] | None = None, compute: str | None = None, limits: SweepJobLimits | None = None, sampling_algorithm: str | SamplingAlgorithm | None = None, search_space: Dict[str, Choice | LogNormal | LogUniform | Normal | QLogNormal | QLogUniform | QNormal | QUniform | Randint | Uniform] | None = None, objective: Objective | None = None, trial: CommandJob | CommandComponent | None = None, early_termination: BanditPolicy | MedianStoppingPolicy | TruncationSelectionPolicy | None = None, queue_settings: QueueSettings | None = None, **kwargs: Any)

Parámetros

name
str

Nombre del trabajo.

display_name
str

Nombre para mostrar del trabajo.

description
str

Descripción del trabajo.

tags
dict[str, str]

Diccionario de etiquetas. Las etiquetas se pueden agregar, quitar y actualizar.

properties
dict[str, str]

Diccionario de propiedades de recursos.

experiment_name
str

Nombre del experimento en el que se creará el trabajo, si se proporciona Ninguno, el trabajo se creará en el experimento "Default".

identity
Union[ManagedIdentityConfiguration, AmlTokenConfiguration, UserIdentityConfiguration]

Identidad que usará el trabajo de entrenamiento mientras se ejecuta en proceso.

inputs
dict

Entradas para el comando.

outputs
dict[str, Output]

Asignación de enlaces de datos de salida usados en el trabajo.

sampling_algorithm
str

Algoritmo de muestreo de hiperparámetros que se va a usar en el search_space. El valor predeterminado es "random".

search_space
Dict

Diccionario del espacio de búsqueda de hiperparámetros. La clave es el nombre del hiperparámetro y el valor es la expresión del parámetro.

objective
Objective

Métrica para la que se va a optimizar.

compute
str

Destino de proceso en el que se ejecuta el trabajo.

trial
Union[CommandJob, CommandComponent]

Configuración del trabajo para cada prueba. Cada prueba se proporcionará con una combinación diferente de valores de hiperparámetros que el sistema muestrea de la search_space.

early_termination
Union[BanditPolicy, MedianStoppingPolicy, TruncationSelectionPolicy]

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 aplicará ninguna directiva de terminación anticipada.

limits
<xref:azure.ai.ml.entities.SweepJobLimits>

Límites del trabajo de barrido.

queue_settings
QueueSettings

Configuración de cola para el trabajo.

kwargs
dict

Diccionario de parámetros de configuración adicionales.

Ejemplos

Creación de un SweepJob


   from azure.ai.ml.entities import CommandJob
   from azure.ai.ml.sweep import BayesianSamplingAlgorithm, Objective, SweepJob, SweepJobLimits

   command_job = CommandJob(
       inputs=dict(kernel="linear", penalty=1.0),
       compute=cpu_cluster,
       environment=f"{job_env.name}:{job_env.version}",
       code="./scripts",
       command="python scripts/train.py --kernel $kernel --penalty $penalty",
       experiment_name="sklearn-iris-flowers",
   )

   sweep = SweepJob(
       sampling_algorithm=BayesianSamplingAlgorithm(),
       trial=command_job,
       search_space={"ss": Choice(type="choice", values=[{"space1": True}, {"space2": True}])},
       inputs={"input1": {"file": "top_level.csv", "mode": "ro_mount"}},
       compute="top_level",
       limits=SweepJobLimits(trial_timeout=600),
       objective=Objective(goal="maximize", primary_metric="accuracy"),
   )

Métodos

dump

Volca el contenido del trabajo en un archivo en formato YAML.

set_limits

Establecer límites para el nodo De barrido. Deje los parámetros como None si no desea actualizar los valores correspondientes.

set_objective

Establezca el objeto de barrido. Deje los parámetros como None si no desea actualizar los valores correspondientes.

"minimizar", "maximizar". :type goal: str :keyword primary_metric: nombre de la métrica que se va a optimizar. :p aramtype primary_metric: str

dump

Volca el contenido del trabajo en un archivo en formato YAML.

dump(dest: str | PathLike | IO, **kwargs) -> None

Parámetros

dest
Union[<xref:PathLike>, str, IO[AnyStr]]
Requerido

Ruta de acceso local o secuencia de archivos en la que se va a escribir el contenido de YAML. Si dest es una ruta de acceso de archivo, se creará un nuevo archivo. Si dest es un archivo abierto, el archivo se escribirá directamente.

kwargs
dict

Argumentos adicionales para pasar al serializador YAML.

Excepciones

Se genera si dest es una ruta de acceso de archivo y el archivo ya existe.

Se genera si dest es un archivo abierto y el archivo no se puede escribir.

set_limits

Establecer límites para el nodo De barrido. Deje los parámetros como None si no desea actualizar los valores correspondientes.

set_limits(*, max_concurrent_trials: int | None = None, max_total_trials: int | None = None, timeout: int | None = None, trial_timeout: int | None = None) -> None

Parámetros

max_concurrent_trials
int

número máximo de prueba simultánea.

max_total_trials
int

número máximo de prueba total.

timeout
int

tiempo de espera total en segundos para el nodo de barrido

trial_timeout
int

tiempo de espera en segundos para cada prueba

Excepciones

Se genera si dest es una ruta de acceso de archivo y el archivo ya existe.

Se genera si dest es un archivo abierto y el archivo no se puede escribir.

set_objective

Establezca el objeto de barrido. Deje los parámetros como None si no desea actualizar los valores correspondientes.

"minimizar", "maximizar". :type goal: str :keyword primary_metric: nombre de la métrica que se va a optimizar. :p aramtype primary_metric: str

set_objective(*, goal: str | None = None, primary_metric: str | None = None) -> None

Parámetros

goal

Define los objetivos de métrica admitidos para el ajuste de hiperparámetros. Los valores aceptables son:

Excepciones

Se genera si dest es una ruta de acceso de archivo y el archivo ya existe.

Se genera si dest es un archivo abierto y el archivo no se puede escribir.

Atributos

base_path

Ruta de acceso base del recurso.

Devoluciones

Ruta de acceso base del recurso.

Tipo de valor devuelto

str

creation_context

Contexto de creación del recurso.

Devoluciones

Metadatos de creación del recurso.

Tipo de valor devuelto

early_termination

Directiva de terminación anticipada para el trabajo de barrido.

Devoluciones

Directiva de terminación anticipada para el trabajo de barrido.

Tipo de valor devuelto

<xref:azure.ai.ml.entities._job.sweep.early_termination_policy.EarlyTerminationPolicy>

id

El identificador del recurso.

Devoluciones

Identificador global del recurso, un identificador de Azure Resource Manager (ARM).

Tipo de valor devuelto

inputs

limits

Límites para el trabajo de barrido.

Devoluciones

Límites para el trabajo de barrido.

Tipo de valor devuelto

log_files

Archivos de salida del trabajo.

Devoluciones

Diccionario de nombres de registro y direcciones URL.

Tipo de valor devuelto

outputs

sampling_algorithm

Algoritmo de muestreo para el trabajo de barrido.

Devoluciones

Algoritmo de muestreo para el trabajo de barrido.

Tipo de valor devuelto

status

El estado del trabajo.

Los valores comunes devueltos incluyen "Running", "Completed" y "Failed". Todos los valores posibles son:

  • NotStarted: se trata de un estado temporal en el que se encuentran los objetos Run del lado cliente antes del envío en la nube.

  • Starting: la ejecución ha empezado a procesarse en la nube. El autor de la llamada tiene un identificador de ejecución en este momento.

  • Aprovisionamiento: se crea un proceso a petición para un envío de trabajo determinado.

  • Preparación: el entorno de ejecución se está preparando y se encuentra en una de estas dos fases:

    • Compilación de imágenes de Docker

    • configuración del entorno Conda

  • En cola: el trabajo se pone en cola en el destino de proceso. Por ejemplo, en BatchAI, el trabajo está en un estado en cola.

    mientras espera a que todos los nodos solicitados estén listos.

  • En ejecución: el trabajo se ha iniciado para ejecutarse en el destino de proceso.

  • Finalización: la ejecución del código de usuario se ha completado y la ejecución está en fases posteriores al procesamiento.

  • CancelRequested: se ha solicitado la cancelación del trabajo.

  • Completado: la ejecución se ha completado correctamente. Esto incluye tanto la ejecución del código de usuario como la ejecución

    posteriores al procesamiento de la ejecución.

  • Failed: error en la ejecución. Normalmente, la propiedad Error de una ejecución proporcionará detalles sobre por qué se produjo el error.

  • Canceled: sigue a una solicitud de cancelación e indica que la ejecución se ha cancelado correctamente.

  • NotResponding: en el caso de las ejecuciones que tienen los latidos habilitados, no se ha enviado recientemente ningún latido.

Devoluciones

Estado del trabajo.

Tipo de valor devuelto

studio_url

Punto de conexión de Azure ML Studio.

Devoluciones

Dirección URL de la página de detalles del trabajo.

Tipo de valor devuelto

type

Tipo del trabajo.

Devoluciones

Tipo del trabajo.

Tipo de valor devuelto