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)
 

Classes imbriquées

classe BlockLSTM.Options Attributs facultatifs pour BlockLSTM

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 le numéro> BlockLSTM <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 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.
BlockLSTM.Options statiques
oublierBias (Float oublierBias)
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

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 <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 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
Retour
  • 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.

public statique BlockLSTM.Options ForgetBias (Float ForgetBias)

Paramètres
oublier les biais Le biais de la porte oubliée.

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.