Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

tf.keras.optimizers.Nadam

Tensorflow 1 versione Visualizza sorgente su GitHub

Optimizer che implementa l'algoritmo Nadam.

Eredita da: Optimizer

Proprio come Adam è essenzialmente RMSprop con slancio, Nadam è Adam con Nesterov slancio.

learning_rate Un Tensor o un valore in virgola mobile. Il tasso di apprendimento.
beta_1 Un valore float o un tensore galleggiante costante. Il tasso di decadimento esponenziale per le stime 1st momento.
beta_2 Un valore float o un tensore galleggiante costante. Il tasso di decadimento esponenziale della norma infinito esponenzialmente ponderata.
epsilon Una piccola costante di stabilità numerica.
name nome opzionale per le operazioni di creato quando si applica gradienti. Il valore predefinito è "Nadam" .
**kwargs argomenti chiave. Permesso di essere uno dei "clipnorm" o "clipvalue" . "clipnorm" (float) clip gradienti di norma; "clipvalue" (float) Clip gradienti per valore.

Riferimento:

name Una stringa non vuota. Il nome da usare per gli accumulatori creati per l'ottimizzatore.
**kwargs argomenti chiave. Permesso di essere { clipnorm , clipvalue , lr , decay }. clipnorm è gradienti clip norma; clipvalue è gradienti di clip di valore, decay è incluso per la compatibilità per consentire tempo dipendente decadimento del tasso di apprendimento. lr è incluso per compatibilità all'indietro, consigliato per uso learning_rate invece.

ValueError Se non è corretto nome.

iterations Variabile. Il numero di passaggi di formazione questo Optimizer ha funzionato.
weights Consegne variabili di questo Optimizer in base all'ordine creato.

metodi

add_slot

Vedi la fonte

Aggiungere una nuova variabile slot per var .

add_weight

Vedi la fonte

apply_gradients

Vedi la fonte

Applicare gradienti alle variabili.

Questa è la seconda parte di minimize() . Restituisce un Operation che si applica gradienti.

Il metodo riassume gradienti da tutte le repliche in presenza di tf.distribute.Strategy predefinita. È possibile aggregare i gradienti te stesso passando experimental_aggregate_gradients=False .

Esempio:

 grads = tape.gradient(loss, vars)
grads = tf.distribute.get_replica_context().all_reduce('sum', grads)
# Processing aggregated gradients.
optimizer.apply_gradients(zip(grads, vars),
    experimental_aggregate_gradients=False)

 

args
grads_and_vars Elenco dei (gradiente, variabile) coppie.
name nome opzionale per l'operazione restituito. Predefinito al nome passato alla Optimizer costruttore.
experimental_aggregate_gradients Sia per riassumere i gradienti di diverse repliche nel presense di tf.distribute.Strategy . Se False, è dell'utente responsabilità di aggregare le pendenze. Predefinito su True.

ritorna
Operation che applica i gradienti specificati. Le iterations saranno automaticamente incrementati di 1.

alza
TypeError Se grads_and_vars non è valido.
ValueError Se nessuna delle variabili hanno pendenze.

from_config

Vedi la fonte

Crea un ottimizzatore dalla sua configurazione.

Questo metodo è l'inverso di get_config , capace di istanziare stesso ottimizzatore dal dizionario config.

argomenti
config Un dizionario Python, tipicamente l'uscita di get_config.
custom_objects Un pitone nomi dizionario mappatura a ulteriori Python oggetti usati per creare questa ottimizzatore, come ad esempio una funzione utilizzata per un iperparametro.

ritorna
Un'istanza ottimizzatore.

get_config

Vedi la fonte

Restituisce la configurazione del ottimizzatore.

Un config ottimizzatore è un dizionario Python (serializzabile) contenente la configurazione di un ottimizzatore. Lo stesso può essere ottimizzatore reinstantiated successivamente (senza stato salvato) da questa configurazione.

ritorna
dizionario Python.

get_gradients

Vedi la fonte

Restituisce gradienti di loss rispetto alla params .

argomenti
loss tensore perdita.
params Elenco delle variabili.

ritorna
Elenco dei tensori di gradiente.

alza
ValueError Nel caso qualsiasi gradiente non può essere calcolato (ad esempio, se la funzione gradiente non implementato).

get_slot

Vedi la fonte

get_slot_names

Vedi la fonte

Un elenco di nomi per gli slot di questo Optimizer.

get_updates

Vedi la fonte

get_weights

Vedi la fonte

Restituisce i pesi attuali del ottimizzatore.

I pesi di un ottimizzatore sono lo stato (cioè variabili). Questa funzione restituisce i valori di peso associati a questa ottimizzatore come un elenco di array numpy. Il primo valore è sempre contare le iterazioni del ottimizzatore, seguito da variabili di stato del ottimizzatore nell'ordine in cui sono stati creati. L'elenco restituito a sua volta può essere utilizzato per stato di carico in modo simile ottimizzatori parametrizzati.

Ad esempio, l'ottimizzatore RMSprop per questo semplice modello restituisce un elenco di tre values-- il numero di iterazioni, seguito dal valore radice quadrata media del kernel e polarizzazione del singolo strato denso:

opt = tf.keras.optimizers.RMSprop()
m = tf.keras.models.Sequential([tf.keras.layers.Dense(10)])
m.compile(opt, loss='mse')
data = np.arange(100).reshape(5, 20)
labels = np.zeros(5)
print('Training'); results = m.fit(data, labels)
Training ...
len(opt.get_weights())
3

ritorna
valori pesi come un elenco di array numpy.

minimize

Vedi la fonte

Ridurre al minimo loss per l'aggiornamento var_list .

Questo metodo calcola semplicemente sfumatura con tf.GradientTape e chiamate apply_gradients() . Se si desidera elaborare il gradiente prima di applicare quindi chiamare tf.GradientTape e apply_gradients() in modo esplicito invece di utilizzare questa funzione.

args
loss Un callable prendendo alcun argomento che restituisce il valore per ridurre al minimo.
var_list lista o tupla di Variable obiezioni aggiornamento per ridurre al minimo loss , o un ritorno richiamabile lista o tupla di Variable oggetti. Utilizzare richiamabile quando l'elenco delle variabili sarebbe altrimenti incompleta prima di minimize in quanto le variabili sono create alla prima volta loss si chiama.
grad_loss Opzionale. Un Tensor tiene il gradiente calcolato per loss .
name nome opzionale per l'operazione restituito.

ritorna
Operation che aggiorna le variabili in var_list . Le iterations saranno automaticamente incrementati di 1.

alza
ValueError Se alcune delle variabili non sono Variable oggetti.

set_weights

Vedi la fonte