Calcola la propagazione in avanti della cella LSTM per tutte le fasi temporali.
Ciò equivale ad applicare LSTMBlockCell in un ciclo, in questo modo:
for x1 in unpack(x):
i1, cs1, f1, o1, ci1, co1, h1 = LSTMBlock(
x1, cs_prev, h_prev, w, wci, wcf, wco, b)
cs_prev = cs1
h_prev = h1
i.append(i1)
cs.append(cs1)
f.append(f1)
o.append(o1)
ci.append(ci1)
co.append(co1)
h.append(h1)
return pack(i), pack(cs), pack(f), pack(o), pack(ci), pack(ch), pack(h)
Note that unlike LSTMBlockCell (and BlockLSTM) which uses ICFO gate layout,
this op uses IFCO. So in order for the following snippet to be equivalent
all gate-related outputs should be reordered.
Classi annidate
classe | BlockLSTMV2.Options | Attributi opzionali per BlockLSTMV2 |
Metodi pubblici
static BlockLSTMV2.Options | cellClip (Float cellClip) |
Uscita <T> | ci () L'input della cella durante l'intera sequenza temporale. |
Uscita <T> | co () La cella dopo il tanh durante l'intera sequenza temporale. |
static <T estende il numero> BlockLSTMV2 <T> | |
Uscita <T> | cs () Lo stato della cellula prima del tanh durante l'intera sequenza temporale. |
Uscita <T> | f () Il cancello del dimenticatoio durante l'intera sequenza temporale. |
Uscita <T> | h () Il vettore h di output sull'intera sequenza temporale. |
Uscita <T> | io () Il gate di input per l'intera sequenza temporale. |
Uscita <T> | o () La porta di uscita per l'intera sequenza temporale. |
static BlockLSTMV2.Options | usePeephole (booleano usePeephole) |
Metodi ereditati
Metodi pubblici
public static BlockLSTMV2.Options cellClip (Float cellClip)
Parametri
cellClip | Valore su cui ritagliare il valore "cs". |
---|
public static BlockLSTMV2 <T> create ( ambito ambito, operando <Long> seqLenMax, operando <T> x, operando <T> csPrev, operando <T> hPrev, operando <T> w, operando <T> wci, operando <T > wcf, operando <T> wco, operando <T> b, opzioni ... opzioni)
Metodo Factory per creare una classe che avvolge una nuova operazione BlockLSTMV2.
Parametri
scopo | ambito attuale |
---|---|
seqLenMax | Durata massima effettivamente utilizzata da questo ingresso. Gli output vengono riempiti con zeri oltre questa lunghezza. |
X | L'input della sequenza a LSTM, shape (timelen, batch_size, num_inputs). |
csPrev | Valore dello stato iniziale della cella. |
hPrev | Uscita iniziale della cella (da utilizzare per lo spioncino). |
w | La matrice del peso. |
wci | La matrice del peso per la connessione dello spioncino del gate di ingresso. |
wcf | La matrice di peso per la connessione di spioncino dimentica cancello. |
wco | La matrice del peso per la connessione dello spioncino del gate di uscita. |
b | Il vettore di bias. |
opzioni | trasporta valori di attributi opzionali |
ritorna
- una nuova istanza di BlockLSTMV2
output pubblico <T> cs ()
Lo stato della cellula prima del tanh durante l'intera sequenza temporale.
public static BlockLSTMV2.Options usePeephole (Boolean usePeephole)
Parametri
usePeephole | Se usare pesi spioncino. |
---|