BlockLSTM

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 ».

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 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

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 BlockLSTM.Options usePeephole (booléen usePeephole)

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