Condividi tramite


hyperdrive Pacchetto

Contiene moduli e classi che supportano l'ottimizzazione degli iperparametri.

Gli iperparametri sono parametri regolabili scelti per il training del modello che guidano il processo di training. Il pacchetto HyperDrive consente di automatizzare la scelta di questi parametri. Ad esempio, è possibile definire lo spazio di ricerca dei parametri come discreto o continuo e un metodo di campionamento sullo spazio di ricerca come casuale, griglia o Bayesian. È anche possibile specificare una metrica primaria da ottimizzare nell'esperimento di ottimizzazione degli iperparametri e se ridurre o ottimizzare tale metrica. È anche possibile definire criteri di terminazione anticipata in cui le esecuzioni di esperimenti con prestazioni scarse vengono annullate e quelle nuove avviate. Per definire un flusso di lavoro di Machine Learning riutilizzabile per HyperDrive, usare hyper_drive_step per creare un oggetto Pipeline.

Moduli

error_definition

Definizioni di codice di errore per HyperDrive SDK.

error_strings

Raccolta di stringhe di errore usate in HyperDrive SDK.

exceptions

Eccezioni generate da HyperDrive.

parameter_expressions

Definisce le funzioni che possono essere usate in HyperDrive per descrivere uno spazio di ricerca degli iperparametri.

Queste funzioni vengono usate per specificare tipi diversi di distribuzioni di iperparametri. Le distribuzioni vengono definite quando si configura il campionamento per uno sweep di iperparametri. Ad esempio, quando si usa la RandomParameterSampling classe , è possibile scegliere di campionare da un set di valori discreti o da una distribuzione di valori continui. In questo caso, è possibile usare la choice funzione per generare un set discreto di valori e uniform una funzione per generare una distribuzione di valori continui.

Per esempi di uso di queste funzioni, vedere l'esercitazione: https://docs.microsoft.com/azure/machine-learning/how-to-tune-hyperparameters.

Classi

BanditPolicy

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 di flessibilità, slack_amount e intervallo di valutazione.

BayesianParameterSampling

Definisce il campionamento bayesiano su uno spazio di ricerca degli iperparametri.

Il campionamento bayesiano tenta di selezionare in modo intelligente il campione successivo di iperparametri, in base alla modalità di esecuzione degli esempi precedenti, in modo che il nuovo campione migliori la metrica primaria segnalata.

Inizializzare BayesianParameterSampling.

EarlyTerminationPolicy

Classe base astratta per tutti i criteri di terminazione anticipata.

Inizializzare un criterio di terminazione anticipata.

GridParameterSampling

Definisce il campionamento della griglia su uno spazio di ricerca degli iperparametri.

Inizializzare GridParameterSampling.

HyperDriveConfig

Configurazione che definisce un'esecuzione di HyperDrive.

La configurazione di HyperDrive include informazioni sul campionamento dello spazio degli iperparametri, sui criteri di terminazione, sulla metrica primaria, sulla ripresa dalla configurazione, dallo strumento di stima e dalla destinazione di calcolo in cui eseguire l'esperimento.

Inizializzare HyperDriveConfig.

HyperDriveRun

HyperDriveRun contiene i dettagli di un esperimento di HyperDrive inviato.

Questa classe può essere usata per gestire, controllare lo stato e recuperare i dettagli dell'esecuzione di HyperDrive e ognuna delle esecuzioni figlio generate.

Inizializzare un'esecuzione di HyperDrive.

HyperDriveRunConfig

Configurazione che definisce un'esecuzione di HyperDrive.

La configurazione include informazioni sul campionamento dello spazio dei parametri, sui criteri di terminazione, sulla metrica primaria, sulla stima e sulla destinazione di calcolo per eseguire l'esperimento.

Inizializzare HyperDriveConfig.

HyperParameterSampling

Classe base astratta per tutti gli algoritmi di campionamento degli iperparametri.

Questa classe incapsula lo spazio degli iperparametri, il metodo di campionamento e le proprietà aggiuntive per le classi di campionamento derivate: BayesianParameterSampling, GridParameterSamplinge RandomParameterSampling.

Inizializzare HyperParameterSampling.

MedianStoppingPolicy

Definisce un criterio di terminazione anticipata in base alle medie in esecuzione della metrica primaria di tutte le esecuzioni.

Inizializzare un oggetto MedianStoppingPolicy.

NoTerminationPolicy

Specifica che non viene applicato alcun criterio di terminazione anticipata.

Ogni esecuzione verrà eseguita fino al completamento.

Inizializzare NoTerminationPolicy.

RandomParameterSampling

Definisce il campionamento casuale su uno spazio di ricerca degli iperparametri.

Inizializzare RandomParameterSampling.

TruncationSelectionPolicy

Definisce un criterio di terminazione anticipata che annulla una determinata percentuale di esecuzioni a ogni intervallo di valutazione.

Inizializzare un oggetto TruncationSelectionPolicy.

Enumerazioni

PrimaryMetricGoal

Definisce gli obiettivi delle metriche supportati per l'ottimizzazione degli iperparametri.

Un obiettivo della metrica viene usato per determinare se un valore più alto per una metrica è migliore o peggiore. Gli obiettivi delle metriche vengono usati quando si confrontano le esecuzioni in base alla metrica primaria. Ad esempio, è possibile ottimizzare l'accuratezza o ridurre al minimo l'errore.

Il nome e l'obiettivo HyperDriveConfig della metrica primaria vengono specificati nella classe quando si configura un'esecuzione di HyperDrive.

Funzioni

choice

Specificare un set discreto di opzioni da cui campionare.

choice(*options)

Parametri

Nome Descrizione
options
Necessario

Elenco di opzioni tra cui scegliere.

Restituisce

Tipo Descrizione

Espressione stocastica.

lognormal

Specificare un valore disegnato in base a exp(normal(mu, sigma)).

Il logaritmo del valore restituito viene normalmente distribuito. Durante l'ottimizzazione, questa variabile è vincolata a essere positiva.

lognormal(mu, sigma)

Parametri

Nome Descrizione
mu
Necessario

Media della distribuzione normale.

sigma
Necessario

Deviazione standard della distribuzione normale.

Restituisce

Tipo Descrizione

Espressione stocastica.

loguniform

Specificare una distribuzione uniforme del log.

Un valore viene disegnato in base a exp(uniform(min_value, max_value)) in modo che il logaritmo del valore restituito venga distribuito in modo uniforme. Durante l'ottimizzazione, questa variabile è vincolata all'intervallo [exp(min_value), exp(max_value)]

loguniform(min_value, max_value)

Parametri

Nome Descrizione
min_value
Necessario

Il valore minimo nell'intervallo sarà exp(min_value)(inclusive).

max_value
Necessario

Il valore massimo nell'intervallo sarà exp(max_value) (inclusivo).

Restituisce

Tipo Descrizione

Espressione stocastica.

normal

Specificare un valore reale normalmente distribuito con media mu e deviazione standard sigma.

Durante l'ottimizzazione, si tratta di una variabile non vincolata.

normal(mu, sigma)

Parametri

Nome Descrizione
mu
Necessario

Media della distribuzione normale.

sigma
Necessario

deviazione standard della distribuzione normale.

Restituisce

Tipo Descrizione

Espressione stocastica.

qlognormal

Specificare un valore come round(exp(normal(mu, sigma)) / q) * q.

Adatto per una variabile discreta rispetto alla quale l'obiettivo è liscio e si uniforma con le dimensioni della variabile, che viene delimitata da un lato.

qlognormal(mu, sigma, q)

Parametri

Nome Descrizione
mu
Necessario

Media della distribuzione normale.

sigma
Necessario

Deviazione standard della distribuzione normale.

q
Necessario
int

Fattore di smussamento.

Restituisce

Tipo Descrizione

Espressione stocastica.

qloguniform

Specificare una distribuzione uniforme del formato round(exp(uniform(min_value, max_value) / q) * q.

Questo comportamento è adatto per una variabile discreta rispetto alla quale l'obiettivo è "liscio" e si uniforma con le dimensioni del valore, ma che deve essere delimitato sia sopra che sotto.

qloguniform(min_value, max_value, q)

Parametri

Nome Descrizione
min_value
Necessario

Valore minimo nell'intervallo (inclusivo).

max_value
Necessario

Valore massimo nell'intervallo (inclusivo).

q
Necessario
int

Fattore di smussamento.

Restituisce

Tipo Descrizione

Espressione stocastica.

qnormal

Specificare un valore come round(normal(mu, sigma) / q) * q.

Adatto per una variabile discreta che probabilmente accetta un valore intorno a mu, ma è fondamentalmente non associato.

qnormal(mu, sigma, q)

Parametri

Nome Descrizione
mu
Necessario

Media della distribuzione normale.

sigma
Necessario

Deviazione standard della distribuzione normale.

q
Necessario
int

Fattore di smussamento.

Restituisce

Tipo Descrizione

Espressione stocastica.

quniform

Specificare una distribuzione uniforme del formato round(uniform(min_value, max_value) / q) * q.

Questo è adatto per un valore discreto rispetto al quale l'obiettivo è ancora un po '"liscio", ma che deve essere delimitato sia sopra che sotto.

quniform(min_value, max_value, q)

Parametri

Nome Descrizione
min_value
Necessario

Valore minimo nell'intervallo (inclusivo).

max_value
Necessario

Valore massimo nell'intervallo (inclusivo).

q
Necessario
int

Fattore di smussamento.

Restituisce

Tipo Descrizione

Espressione stocastica.

randint

Specificare un set di numeri interi casuali nell'intervallo [0, superiore).

La semantica di questa distribuzione è che non esiste più correlazione nella funzione di perdita tra valori interi vicini, rispetto a valori integer più distanti. Si tratta di una distribuzione appropriata per la descrizione di semi casuali, ad esempio. Se la funzione di perdita è probabilmente più correlata per i valori integer vicini, è consigliabile usare probabilmente una delle distribuzioni continue "quantizzate", ad esempio quniform, qloguniform, qnormal o qlognormal.

randint(upper)

Parametri

Nome Descrizione
upper
Necessario
int

Limite superiore esclusivo per l'intervallo di interi.

Restituisce

Tipo Descrizione

Espressione stocastica.

uniform

Specificare una distribuzione uniforme da cui vengono acquisiti i campioni.

uniform(min_value, max_value)

Parametri

Nome Descrizione
min_value
Necessario

Valore minimo nell'intervallo (inclusivo).

max_value
Necessario

Valore massimo nell'intervallo (inclusivo).

Restituisce

Tipo Descrizione

Espressione stocastica.