classe finale publique BlockLSTM
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 | BlockLSTM.Options | Attributs facultatifs pour BlockLSTM |
Constantes
Chaîne | OP_NAME | Le nom de cette opération, tel que connu par le moteur principal TensorFlow |
Méthodes publiques
BlockLSTM.Options statiques | 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 TNumber > BlockLSTM <T> | créer ( Portée de portée, Opérande < TInt64 > 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 BlockLSTM. |
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. |
BlockLSTM.Options statiques | usePeephole (utilisation booléennePeephole) |
Méthodes héritées
Constantes
chaîne finale statique publique OP_NAME
Le nom de cette opération, tel que connu par le moteur principal TensorFlow
Valeur constante : "BlockLSTMV2"
Méthodes publiques
public statique BlockLSTM.Options cellClip (Float cellClip)
Paramètres
celluleClip | Valeur à laquelle découper la valeur « cs ». |
---|
public static BlockLSTM <T> créer ( Portée de portée , Opérande < TInt64 > 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 BlockLSTM.
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 BlockLSTM
public static BlockLSTM.Options usePeephole (booléen usePeephole)
Paramètres
utiliserJudas | S'il faut utiliser des poids pour judas. |
---|