Calcula la propagación hacia adelante de la celda LSTM para todos los pasos de tiempo.
Esto es equivalente a aplicar LSTMBlockCell en un bucle, así:
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.
Clases anidadas
clase | Opciones BlockLSTM. | Los atributos opcionales para BlockLSTM |
Constantes
Cuerda | OP_NAME | El nombre de esta operación, como lo conoce el motor central de TensorFlow |
Métodos públicos
estáticas BlockLSTM.Options | cellClip (Float cellClip) |
Salida <T> | ci () La entrada de la celda durante toda la secuencia de tiempo. |
Salida <T> | co () La celda después del tanh durante toda la secuencia de tiempo. |
estática <T se extiende TNumber > BlockLSTM <T> | crear ( Alcance alcance, operando < TInt64 > seqLenMax, operando <T> x, operando <T> csPrev, operando <T> hPrev, operando <T> w, operando <T> wci, operando <T> WCF, operando <T > OMA, operando <T> b, opciones ... opciones) Método de fábrica para crear una clase que envuelva una nueva operación BlockLSTM. |
Salida <T> | cs () El estado de la celda antes del tanh durante toda la secuencia de tiempo. |
Salida <T> | f () La puerta del olvido en toda la secuencia de tiempo. |
Salida <T> | h () El vector h de salida en toda la secuencia de tiempo. |
Salida <T> | i () La puerta de entrada en toda la secuencia de tiempo. |
Salida <T> | o () La puerta de salida en toda la secuencia de tiempo. |
estáticas BlockLSTM.Options | usePeephole (Boolean usePeephole) |
Métodos heredados
Constantes
OP_NAME pública final static String
El nombre de esta operación, como lo conoce el motor central de TensorFlow
Métodos públicos
public static BlockLSTM.Options cellClip (Float cellClip)
Parámetros
cellClip | Valor al que recortar el valor 'cs'. |
---|
public static BlockLSTM <T> crear ( Alcance alcance, operando < TInt64 > seqLenMax, operando <T> x, operando <T> csPrev, operando <T> hPrev, operando <T> w, operando <T> wci, operando <T > WCF, operando <T> OMA, operando <T> b, opciones ... opciones)
Método de fábrica para crear una clase que envuelva una nueva operación BlockLSTM.
Parámetros
alcance | alcance actual |
---|---|
seqLenMax | Duración máxima de tiempo realmente utilizada por esta entrada. Las salidas se rellenan con ceros más allá de esta longitud. |
X | La secuencia de entrada al LSTM, forma (timelen, batch_size, num_inputs). |
csPrev | Valor del estado inicial de la celda. |
hPrev | Salida inicial de celda (para ser utilizada como mirilla). |
w | La matriz de peso. |
wci | La matriz de peso para la conexión de mirilla de la puerta de entrada. |
WC | La matriz de peso para la conexión de mirilla de puerta olvidada. |
wco | La matriz de peso para la conexión de mirilla de la puerta de salida. |
B | El vector de sesgo. |
opciones | lleva valores de atributos opcionales |
Devoluciones
- una nueva instancia de BlockLSTM
pública de salida <T> cs ()
El estado de la celda antes del tanh durante toda la secuencia de tiempo.
public static BlockLSTM.Options usePeephole (booleano usePeephole)
Parámetros
utilizar mirilla | Ya sea para usar pesas de mirilla. |
---|