LSTMBlockCell

classe finale publique LSTMBlockCell

Calcule la propagation avant de la cellule LSTM pour 1 pas de temps.

Cette implémentation utilise 1 matrice de poids et 1 vecteur de biais, et il existe une connexion judas en option.

Cette opération du noyau implémente les équations mathématiques suivantes :

xh = [x, h_prev]
 [i, f, ci, o] = xh * w + b
 f = f + forget_bias
 
 if not use_peephole:
   wci = wcf = wco = 0
 
 i = sigmoid(cs_prev * wci + i)
 f = sigmoid(cs_prev * wcf + f)
 ci = tanh(ci)
 
 cs = ci .* i + cs_prev .* f
 cs = clip(cs, cell_clip)
 
 o = sigmoid(cs * wco + o)
 co = tanh(cs)
 h = co .* o
 

Classes imbriquées

classe LSTMBlockCell.Options Attributs facultatifs pour LSTMBlockCell

Constantes

Chaîne OP_NAME Le nom de cette opération, tel que connu par le moteur principal TensorFlow

Méthodes publiques

statique LSTMBlockCell.Options
cellClip (cellClip flottant)
Sortie <T>
ci ()
L'entrée de la cellule.
Sortie <T>
co ()
La cellule après le tanh.
statique <T étend TNumber > LSTMBlockCell <T>
créer ( Portée de portée, 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 LSTMBlockCell.
Sortie <T>
cs ()
L'état de la cellule avant le tanh.
Sortie <T>
f ()
La porte oubliée.
statique LSTMBlockCell.Options
oublierBias (Float oublierBias)
Sortie <T>
h ()
Le vecteur h de sortie.
Sortie <T>
je ()
La porte d'entrée.
Sortie <T>
o ()
La porte de sortie.
statique LSTMBlockCell.Options
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 : "LSTMBlockCell"

Méthodes publiques

public statique LSTMBlockCell.Options cellClip (Float cellClip)

Paramètres
celluleClip Valeur à laquelle découper la valeur « cs ».

sortie publique <T> ci ()

L'entrée de la cellule.

sortie publique <T> co ()

La cellule après le tanh.

public static LSTMBlockCell <T> créer ( Portée de portée , 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 LSTMBlockCell.

Paramètres
portée portée actuelle
x L'entrée de la cellule LSTM, forme (batch_size, num_inputs).
csPrév Valeur de l’état de la cellule au pas de temps précédent.
hPréc Sortie de la cellule précédente au pas de temps précédent.
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 LSTMBlockCell

sortie publique <T> cs ()

L'état de la cellule avant le tanh.

Sortie publique <T> f ()

La porte oubliée.

public statique LSTMBlockCell.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.

Sortie publique <T> i ()

La porte d'entrée.

Sortie publique <T> o ()

La porte de sortie.

public statique LSTMBlockCell.Options usePeephole (booléen usePeephole)

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