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
|
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
|
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
|
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
|
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
|
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. |