BanditPolicy Classe
Definisce un criterio di terminazione anticipata in base ai criteri slack e a un intervallo di frequenza e ritardo per la valutazione.
Inizializzare un banditPolicy con fattore slack, slack_amount e intervallo di valutazione.
- Ereditarietà
-
azureml.train.hyperdrive.policy.EarlyTerminationPolicyBanditPolicy
Costruttore
BanditPolicy(evaluation_interval=1, slack_factor=None, slack_amount=None, delay_evaluation=0)
Parametri
Nome | Descrizione |
---|---|
slack_factor
|
Rapporto utilizzato per calcolare la distanza consentita dall'esecuzione dell'esperimento con prestazioni ottimali. Valore predefinito: None
|
slack_amount
|
Distanza assoluta consentita dall'esecuzione migliore. Valore predefinito: None
|
evaluation_interval
|
Frequenza per l'applicazione del criterio. Valore predefinito: 1
|
delay_evaluation
|
Numero di intervalli per i quali ritardare la prima valutazione dei criteri.
Se specificato, il criterio applica ogni multiplo Valore predefinito: 0
|
slack_factor
Necessario
|
Rapporto utilizzato per calcolare la distanza consentita dall'esecuzione dell'esperimento con prestazioni ottimali. |
slack_amount
Necessario
|
Distanza assoluta consentita dall'esecuzione migliore. |
evaluation_interval
Necessario
|
Frequenza per l'applicazione del criterio. |
delay_evaluation
Necessario
|
Numero di intervalli per i quali ritardare la prima valutazione dei criteri.
Se specificato, il criterio applica ogni multiplo |
Commenti
Il criterio Bandit accetta i parametri di configurazione seguenti:
slack_factor
: la quantità di slack consentita rispetto alla migliore esecuzione del training. Questo fattore specifica il slack come rapporto.slack_amount
: la quantità di slack consentita rispetto alla migliore esecuzione del training. Questo fattore specifica il slack come quantità assoluta.evaluation_interval
: Facoltativo. Frequenza per l'applicazione del criterio. Ogni volta che lo script di training registra la metrica primaria viene conteggiata come un intervallo.delay_evaluation
: Facoltativo. Numero di intervalli per ritardare la valutazione dei criteri. Usare questo parametro per evitare la chiusura prematura delle esecuzioni di training. Se specificato, il criterio applica ogni multiploevaluation_interval
maggiore o uguale adelay_evaluation
.
Qualsiasi esecuzione che non rientra nel fattore slack o nella quantità di slack della metrica di valutazione rispetto all'esecuzione migliore verrà terminata.
Prendere in considerazione un criterio Bandit con slack_factor
= 0,2 e evaluation_interval
= 100.
Si supponga che l'esecuzione X sia l'esecuzione attualmente migliore con un AUC (metrica delle prestazioni) pari a 0,8 dopo 100 intervalli. Si supponga inoltre che l'AUC migliore segnalato per un'esecuzione sia Y. Questo criterio confronta il valore (Y + Y * 0,2) e 0,8 e, se più piccolo, annulla l'esecuzione. Se delay_evaluation
= 200, la prima volta che il criterio verrà applicato è a intervalli 200.
Prendere ora in considerazione un criterio bandito con slack_amount
= 0,2 e evaluation_interval
= 100.
Se Run 3 è l'esecuzione attualmente migliore con un'AUC (metrica delle prestazioni) pari a 0,8 dopo 100 intervalli, qualsiasi esecuzione con un'AUC inferiore a 0,6 (0,8 - 0,2) dopo 100 iterazioni verrà terminata.
Analogamente, può delay_evaluation
essere usato anche per ritardare la prima valutazione dei criteri di terminazione per un numero specifico di sequenze.
Per altre informazioni sull'applicazione dei criteri di terminazione anticipata, vedere Ottimizzare gli iperparametri per il modello.
Attributi
delay_evaluation
Restituisce il numero di sequenze per cui la prima valutazione viene ritardata.
Restituisce
Tipo | Descrizione |
---|---|
Valutazione del ritardo. |
evaluation_interval
Restituisce il valore dell'intervallo di valutazione.
Restituisce
Tipo | Descrizione |
---|---|
Intervallo di valutazione. |
slack_factor
Restituisce il fattore slack rispetto alla migliore esecuzione del training.
Restituisce
Tipo | Descrizione |
---|---|
Fattore di slack. |
POLICY_NAME
POLICY_NAME = 'Bandit'