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

tf.compat.v1.get_variable

Visualizza sorgente su GitHub

Ottiene una variabile esistente con questi parametri o crearne uno nuovo.

Questa funzione viene anteposta al nome con lo scopo variabile corrente ed esegue controlli riutilizzo. Vedere la Mirino variabile Come per una descrizione dettagliata di come riutilizzare opere. Ecco un esempio di base:

 def foo():
  with tf.variable_scope("foo", reuse=tf.AUTO_REUSE):
    v = tf.get_variable("v", [1])
  return v

v1 = foo()  # Creates v.
v2 = foo()  # Gets the same, existing v.
assert v1 == v2
 

Se initializer è None (l'impostazione predefinita), l'impostazione predefinita di inizializzazione passato nella scope delle variabili verranno utilizzati. Se quello è None troppo, un glorot_uniform_initializer verrà utilizzato. L'inizializzatore può anche essere un Tensor, nel qual caso la variabile viene inizializzata a questo valore e forma.

Analogamente, se il regolarizzatore è None (predefinito), il regolarizzatore predefinito passata nella portata variabile verrà utilizzata (se questo è None troppo, per impostazione predefinita non viene eseguita regolarizzazione).

Se viene fornito un partizionamento, un PartitionedVariable viene restituito. L'accesso a questo oggetto come un Tensor restituisce i cocci concatenati lungo l'asse partizione.

Alcuni partitori utili sono disponibili. Vedi, per esempio, variable_axis_size_partitioner e min_max_variable_partitioner .

name Il nome della variabile nuovo o esistente.
shape Forma della variabile nuovo o esistente.
dtype Tipo di variabile nuovo o esistente (il default è DT_FLOAT ).
initializer Inizializzatore per la variabile se si è creato. Può essere sia un oggetto di inizializzazione o di un tensore. Se si tratta di un tensore, la sua forma deve essere noto a meno validate_shape è False.
regularizer A (Tensor -> Tensor o None) la funzione; il risultato della sua applicazione su una variabile appena creata sarà aggiunto alla raccolta tf.GraphKeys.REGULARIZATION_LOSSES e può essere utilizzato per la regolarizzazione.
trainable Se True anche aggiungere la variabile per la collezione del grafico GraphKeys.TRAINABLE_VARIABLES (vedi tf.Variable ).
collections Elenco dei tasti collezioni grafico per aggiungere la variabile a. Il valore predefinito è [GraphKeys.GLOBAL_VARIABLES] (vedere tf.Variable ).
caching_device stringa di dispositivo opzionale o funzione che descrive dove la variabile dovrebbe essere memorizzate nella cache per la lettura. Il valore predefinito dispositivo della variabile. In caso contrario None , cache su un altro dispositivo. L'utilizzo tipico è quello di cache sul dispositivo in cui le Ops utilizzando l'risiedono variabile, per deduplicare la copia tramite Switch e altre istruzioni condizionali.
partitioner Callable opzionale che accetta una completamente definito TensorShape e dtype della variabile da creare, e restituisce un elenco delle partizioni per ciascun asse (attualmente solo asse può essere partizionato).
validate_shape Se False, consente la variabile da inizializzare con un valore di forma sconosciuta. Se vero, l'impostazione predefinita, la forma di valore_iniziale deve essere nota. Per tale da utilizzare l'inizializzatore deve essere un Tensor e non un oggetto inizializzatore.
use_resource Se False, crea una variabile normale. Se fosse vero, crea un ResourceVariable sperimentale invece con una semantica ben definiti. L'impostazione predefinita è False (saranno poi passare a True). Quando l'esecuzione desideroso è attivato questo argomento è sempre costretto per essere vero.
custom_getter Richiamabile che prende come primo argomento della vera getter, e permette sovrascrivendo il metodo get_variable interna. La firma di custom_getter dovrebbe corrispondere a quello di questo metodo, ma la versione più a prova di futuro permetterà di modifiche: def custom_getter(getter, *args, **kwargs) . Accesso diretto a tutte le get_variable parametri è consentito anche: def custom_getter(getter, name, *args, **kwargs) . Un getter personalizzato semplice identità che crea semplicemente le variabili con nomi modificati è:

 def custom_getter(getter, name, *args, **kwargs):
return getter(name + '_suffix', *args, **kwargs)
 

constraint Una funzione di proiezione opzionale da applicare alla variabile dopo l'aggiornamento da un Optimizer (ad esempio utilizzati per implementare vincoli NORM o vincoli dei valori per i pesi di livello). La funzione deve prendere in ingresso il Tensor non proiettato rappresenta il valore della variabile e restituire il Tensor per il valore previsto (che deve avere la stessa forma). I vincoli non sono sicuri da usare quando si fa formazione distribuito asincrono.
synchronization Indica quando verranno aggregati un distribuita una variabile. I valori accettati sono costanti definite nella classe tf.VariableSynchronization . Per default la sincronizzazione viene impostato su AUTO e gli attuali DistributionStrategy sceglie quando sincronizzare.
aggregation Indica come sarà aggregato una variabile distribuita. I valori accettati sono costanti definite nella classe tf.VariableAggregation .

Il creato o esistente Variable (o PartitionedVariable , se un partizionamento è stato utilizzato).

ValueError quando si crea una nuova variabile e la forma non è dichiarata, quando violando il riutilizzo durante la creazione variabile, o quando initializer DTYPE e dtype non corrispondono. Riutilizzo è impostato all'interno variable_scope .