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)
Clases anidadas
clase | Opciones BlockLSTM. | Los atributos opcionales para BlockLSTM |
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 Número> BlockLSTM <T> | crear ( Alcance alcance, operando <largo> 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. |
estáticas BlockLSTM.Options | forgetBias (forgetBias float) |
Salida <T> | h () El vector de salida h 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 durante toda la secuencia de tiempo. |
estáticas BlockLSTM.Options | usePeephole (Boolean usePeephole) |
Métodos heredados
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 <Larga> 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.
estáticas pública BlockLSTM.Options forgetBias (forgetBias Float)
Parámetros
olvidarBias | El sesgo de la puerta del olvido. |
---|
public static BlockLSTM.Options usePeephole (booleano usePeephole)
Parámetros
utilizar mirilla | Ya sea para usar pesas de mirilla. |
---|