BanditPolicy Clase

Define una directiva de terminación anticipada basada en criterios de Slack y un intervalo de frecuencia e intervalo de retraso para la evaluación.

Inicialice banditPolicy con factor de demora, slack_amount e intervalo de evaluación.

Herencia
azureml.train.hyperdrive.policy.EarlyTerminationPolicy
BanditPolicy

Constructor

BanditPolicy(evaluation_interval=1, slack_factor=None, slack_amount=None, delay_evaluation=0)

Parámetros

slack_factor
float
valor predeterminado: None

La proporción usada para calcular la distancia permitida de la ejecución del experimento con mejor rendimiento.

slack_amount
float
valor predeterminado: None

La distancia absoluta permitida de la ejecución con mejor rendimiento.

evaluation_interval
int
valor predeterminado: 1

La frecuencia con la que se aplica la directiva.

delay_evaluation
int
valor predeterminado: 0

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.

slack_factor
float
Requerido

La proporción usada para calcular la distancia permitida de la ejecución del experimento con mejor rendimiento.

slack_amount
float
Requerido

La distancia absoluta permitida de la ejecución con mejor rendimiento.

evaluation_interval
int
Requerido

La frecuencia con la que se aplica la directiva.

delay_evaluation
int
Requerido

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.

Comentarios

La directiva Bandit toma los parámetros de configuración siguientes:

  • slack_factor: la cantidad de margen de demora permitida con respecto a la ejecución del entrenamiento con el mejor rendimiento. Este factor especifica el margen de demora como una proporción.

  • slack_amount: la cantidad de margen de demora permitido con respecto a la ejecución del entrenamiento con el mejor rendimiento. Este factor especifica el margen de demora como una cantidad absoluta.

  • evaluation_interval: Opcional. La frecuencia con la que se aplica la directiva. Cada vez que el script de entrenamiento registra la métrica principal se considera un intervalo.

  • delay_evaluation: Opcional. Número de intervalos que va a retrasar la evaluación de la directiva. Use este parámetro para evitar la terminación prematura de las ejecuciones de entrenamiento. Si se especifica, la directiva se aplica a cada múltiplo de evaluation_interval que sea mayor que o igual a delay_evaluation.

Cualquier ejecución que no se encuentre dentro del factor de demora o la cantidad de margen de demora de la métrica de evaluación con respecto a la ejecución de mejor rendimiento se finalizará.

Considere una directiva Bandit con slack_factor = 0,2 y evaluation_interval = 100. Suponga que la ejecución X es la ejecución con mejor rendimiento con un AUC (métrica de rendimiento) de 0,8 después de 100 intervalos. Además, suponga que el mejor AUC notificado de una ejecución es Y. Esta directiva compara el valor (Y + Y * 0,2) con 0,8 y, si es menor, cancela la ejecución. Si delay_evaluation = 200, la primera vez que se aplicará la directiva es en el intervalo 200.

Ahora, considere una directiva Bandit con slack_amount = 0,2 y evaluation_interval = 100. Si la ejecución 3 es la ejecución con mejor rendimiento actualmente con un AUC (métrica de rendimiento) de 0,8 después de 100 intervalos, se finalizará cualquier ejecución con un AUC inferior a 0,6 (0,8 - 0,2) después de 100 iteraciones. Igualmente, también delay_evaluation se puede usar para retrasar la primera evaluación de la directiva de finalización de un número específico de secuencias.

Para más información sobre cómo aplicar directivas de finalización anticipada, consulte Ajuste de los hiperparámetros de un modelo.

Atributos

delay_evaluation

Devuelve el número de secuencias para las que se retrasa la primera evaluación.

Devoluciones

Evaluación del retraso.

Tipo de valor devuelto

int

evaluation_interval

Devuelve el valor del intervalo de evaluación.

Devoluciones

Intervalo de evaluación.

Tipo de valor devuelto

int

slack_factor

Devuelve el factor del margen demora con respecto a la ejecución del entrenamiento con el mejor rendimiento.

Devoluciones

Factor del margen de demora.

Tipo de valor devuelto

POLICY_NAME

POLICY_NAME = 'Bandit'