TensorArrayGrad

public final class TensorArrayGrad

Crea un TensorArray per archiviare i gradienti dei valori nell'handle specificato.

Se il gradiente TensorArray specificato esiste già, restituisce un riferimento ad esso.

Blocca la dimensione del TensorArray originale disabilitando il relativo flag di dimensione dinamica.

** Una nota sul flusso di input_in: **

L'handle flow_in forza l'esecuzione della ricerca del gradiente solo dopo che si sono verificate alcune altre operazioni. Ad esempio, quando il TensorArray in avanti viene ridimensionato dinamicamente, le scritture in questo TensorArray possono ridimensionare l'oggetto. Il gradiente TensorArray viene ridimensionato staticamente in base alla dimensione del TensorArray in avanti quando viene eseguita questa operazione. Inoltre, la dimensione dell'inoltro TensorArray viene congelata da questa chiamata. Di conseguenza, il flusso viene utilizzato per garantire che la chiamata per generare il gradiente TensorArray avvenga solo dopo l'esecuzione di tutte le scritture.

Nel caso di TensorArrays di dimensioni dinamiche, il calcolo del gradiente deve essere eseguito solo su operazioni di lettura che sono state a loro volta concatenate tramite flusso in modo che si verifichino solo dopo che tutte le scritture sono state eseguite. In questo modo la dimensione finale del TensorArray in avanti è nota quando viene chiamata questa operazione.

** Una nota sull'attributo di origine: **

Le chiamate a gradiente TensorArray utilizzano un oggetto TensorArray dell'accumulatore. Se più gradienti vengono calcolati ed eseguiti nella stessa sessione, i più nodi gradiente possono fluire accidentalmente attraverso lo stesso accumulatore TensorArray. Questo conta due volte e generalmente interrompe il flusso del gradiente TensorArray.

La soluzione è identificare quale gradiente chiama questo particolare gradiente TensorArray. Ciò viene eseguito identificando una stringa univoca (ad esempio "gradienti", "gradienti_1", ...) dal nome del gradiente di input Tensor. Questa stringa viene utilizzata come suffisso quando si crea qui l'oggetto gradiente TensorArray (l'attributo `source`).

L'attributo "source" viene aggiunto come suffisso al nome del TensorArray in avanti quando si esegue la creazione / ricerca, in modo che ogni calcolo del gradiente separato ottenga il proprio accumulatore TensorArray.

Metodi pubblici

static TensorArrayGrad
create ( ambito ambito, operatore <?> handle, operando <Float> flowIn, string source)
Metodo Factory per creare una classe che racchiude una nuova operazione TensorArrayGrad.
Uscita <Float>
Uscita <?>

Metodi ereditati

Metodi pubblici

public static TensorArrayGrad create ( Scope scope, Operand <?> handle, Operand <Float> flowIn, String source)

Metodo Factory per creare una classe che racchiude una nuova operazione TensorArrayGrad.

Parametri
scopo ambito attuale
maniglia L'handle per il TensorArray in avanti.
flowIn Uno scalare float che impone il corretto concatenamento delle operazioni.
fonte La stringa di origine del gradiente, utilizzata per decidere quale gradiente TensorArray restituire.
ritorna
  • una nuova istanza di TensorArrayGrad

output pubblico <Float> flowOut ()

output pubblico <?> gradHandle ()