classe finale publique BlockLSTMV2
Calcule la propagation des cellules LSTM pour tous les pas de temps.
Cela équivaut à appliquer LSTMBlockCell dans une boucle, comme ceci :
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.
Classes imbriquées
classe | BlocLSTMV2.Options | Attributs facultatifs pour BlockLSTMV2 |
Méthodes publiques
BlocLSTMV2.Options statique | cellClip (cellClip flottant) |
Sortie <T> | ci () La cellule est entrée sur toute la séquence temporelle. |
Sortie <T> | co () La cellule après le tanh sur toute la séquence temporelle. |
statique <T étend le numéro> BlockLSTMV2 <T> | |
Sortie <T> | cs () L'état de la cellule avant le tanh sur toute la séquence temporelle. |
Sortie <T> | f () La porte oubliée sur toute la séquence temporelle. |
Sortie <T> | h () Le vecteur h de sortie sur toute la séquence temporelle. |
Sortie <T> | je () La porte d'entrée sur toute la séquence temporelle. |
Sortie <T> | o () La porte de sortie sur toute la séquence temporelle. |
BlocLSTMV2.Options statique | usePeephole (utilisation booléennePeephole) |
Méthodes héritées
Méthodes publiques
public statique BlockLSTMV2.Options cellClip (Float cellClip)
Paramètres
celluleClip | Valeur à laquelle découper la valeur « cs ». |
---|
public static BlockLSTMV2 <T> créer ( Portée de portée , Opérande <Long> seqLenMax, Opérande <T> x, Opérande <T> csPrev, Opérande <T> hPrev, Opérande <T> w, Opérande <T> wci, Opérande <T > wcf, Opérande <T> wco, Opérande <T> b, Options... options)
Méthode d'usine pour créer une classe encapsulant une nouvelle opération BlockLSTMV2.
Paramètres
portée | portée actuelle |
---|---|
seqLenMax | Durée maximale réellement utilisée par cette entrée. Les sorties sont complétées par des zéros au-delà de cette longueur. |
x | La séquence entrée dans le LSTM, forme (timelen, batch_size, num_inputs). |
csPrév | Valeur de l'état initial de la cellule. |
hPréc | Sortie initiale de la cellule (à utiliser pour judas). |
w | La matrice de poids. |
wci | La matrice de poids pour la connexion des judas de la porte d’entrée. |
WCF | La matrice de poids pour la connexion des judas du portail oublié. |
wco | La matrice de poids pour la connexion des judas de la porte de sortie. |
b | Le vecteur de biais. |
choix | porte des valeurs d'attributs facultatifs |
Retours
- une nouvelle instance de BlockLSTMV2
public static BlockLSTMV2.Options usePeephole (booléen usePeephole)
Paramètres
utiliserJudas | S'il faut utiliser des poids pour judas. |
---|