clase final pública BlockLSTMV2
Calcula la propagación directa de la celda LSTM para todos los pasos de tiempo.
Esto equivale 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 | BloquearLSTMV2.Opciones | Atributos opcionales para BlockLSTMV2 |
Métodos públicos
Bloque estáticoLSTMV2.Options | cellClip (Clip de celda flotante) |
Salida <T> | ci () La entrada de celda durante toda la secuencia de tiempo. |
Salida <T> | co () La celda después del tanh durante toda la secuencia de tiempo. |
estático <T extiende Número> BlockLSTMV2 <T> | crear ( Alcance alcance, Operando <Long> seqLenMax, Operando <T> x, Operando <T> csPrev, Operando <T> hPrev, Operando <T> w, Operando <T> wci, Operando <T> wcf, Operando <T > wco, Operando <T> b, Opciones... opciones) Método de fábrica para crear una clase que envuelve una nueva operación BlockLSTMV2. |
Salida <T> | cs () El estado de la celda antes del tanh durante toda la secuencia de tiempo. |
Salida <T> | f () La puerta del olvido sobre toda la secuencia temporal. |
Salida <T> | h () El vector h de salida sobre toda la secuencia de tiempo. |
Salida <T> | i () La puerta de entrada durante toda la secuencia de tiempo. |
Salida <T> | o () La puerta de salida durante toda la secuencia de tiempo. |
Bloque estáticoLSTMV2.Options | usePeephole (uso booleanoPeephole) |
Métodos heredados
Métodos públicos
BlockLSTMV2.Options estático público cellClip (Clip de celda flotante)
Parámetros
clip de celda | Valor al que recortar el valor 'cs'. |
---|
público estático BlockLSTMV2 <T> crear ( Alcance alcance, Operando <Long> seqLenMax, Operando <T> x, Operando <T> csPrev, Operando <T> hPrev, Operando <T> w, Operando <T> wci, Operando <T > wcf, Operando <T> wco, Operando <T> b, Opciones... opciones)
Método de fábrica para crear una clase que envuelve una nueva operación BlockLSTMV2.
Parámetros
alcance | alcance actual |
---|---|
seqLenMax | Duración máxima del tiempo realmente utilizado por esta entrada. Las salidas se rellenan con ceros más allá de esta longitud. |
incógnita | La secuencia de entrada al LSTM, forma (timelen, tamaño de lote, num_inputs). |
csAnterior | Valor del estado inicial de la celda. |
hAnterior | Salida inicial de celda (para ser utilizada para mirilla). |
w | La matriz de peso. |
wci | La matriz de peso para la conexión de mirilla de puerta de entrada. |
wcf | La matriz de peso para olvidar la conexión de mirilla de puerta. |
OMA | La matriz de peso para la conexión de mirilla de puerta de salida. |
b | El vector de sesgo. |
opciones | lleva valores de atributos opcionales |
Devoluciones
- una nueva instancia de BlockLSTMV2
BlockLSTMV2 estático público. Opciones de uso de mirilla (uso booleano de mirilla)
Parámetros
utilizar mirilla | Si se deben utilizar pesas para mirillas. |
---|