classe finale pubblica BlockLSTMV2
Calcola la propagazione in avanti della cella LSTM per tutti i passaggi 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 nidificate
classe | BlockLSTMV2.Opzioni | Attributi facoltativi per BlockLSTMV2 |
Metodi pubblici
BlockLSTMV2.Options statico | cellClip (cellClip mobile) |
Uscita <T> | ci () L'input della cella durante l'intera sequenza temporale. |
Uscita <T> | co () La cella dopo l'abbronzatura durante l'intera sequenza temporale. |
statico <T estende il numero> 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 racchiude una nuova operazione BlockLSTMV2. |
Uscita <T> | cs () Lo stato della cella prima del tanh durante l'intera sequenza temporale. |
Uscita <T> | F () La porta dell'oblio su tutta la sequenza temporale. |
Uscita <T> | H () Il vettore h di uscita sull'intera sequenza temporale. |
Uscita <T> | io () Il gate di ingresso sull'intera sequenza temporale. |
Uscita <T> | o () Il gate di uscita sull'intera sequenza temporale. |
BlockLSTMV2.Options statico | usePeephole (uso booleanoPeephole) |
Metodi ereditati
Metodi pubblici
pubblico statico BlockLSTMV2.Options cellClip (cellClip mobile)
Parametri
cellClip | Valore a 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 racchiude una nuova operazione BlockLSTMV2.
Parametri
ambito | ambito attuale |
---|---|
seqLenMax | Durata massima effettivamente utilizzata da questo input. Le uscite vengono riempite con zeri oltre questa lunghezza. |
X | L'input della sequenza in LSTM, forma (timelen, batch_size, num_inputs). |
csPrev | Valore dello stato iniziale della cella. |
hPrec | Output iniziale della cella (da utilizzare per lo spioncino). |
w | La matrice dei pesi. |
wci | La matrice dei pesi per la connessione dello spioncino del cancello di ingresso. |
wcf | La matrice dei pesi per la connessione dello spioncino del cancello dimenticato. |
wco | La matrice dei pesi per la connessione dello spioncino del cancello di uscita. |
B | Il vettore di polarizzazione. |
opzioni | trasporta valori di attributi opzionali |
Ritorni
- una nuova istanza di BlockLSTMV2
public static BlockLSTMV2.Options usePeephole (uso booleanoPeephole)
Parametri
utilizzare Spioncino | Se utilizzare i pesi dello spioncino. |
---|