BlockLSTMV2

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>
créer ( Scope scope, 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.
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 ».

sortie publique <T> ci ()

La cellule est entrée sur toute la séquence temporelle.

sortie publique <T> co ()

La cellule après le tanh sur toute la séquence temporelle.

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
Retour
  • une nouvelle instance de BlockLSTMV2

sortie publique <T> cs ()

L'état de la cellule avant le tanh sur toute la séquence temporelle.

Sortie publique <T> f ()

La porte oubliée sur toute la séquence temporelle.

sortie publique <T> h ()

Le vecteur h de sortie sur toute la séquence temporelle.

Sortie publique <T> i ()

La porte d'entrée sur toute la séquence temporelle.

Sortie publique <T> o ()

La porte de sortie sur toute la séquence temporelle.

public static BlockLSTMV2.Options usePeephole (booléen usePeephole)

Paramètres
utiliserJudas S'il faut utiliser des poids pour judas.