BlockLSTMV2

classe final pública BlockLSTMV2

Calcula a propagação direta da célula LSTM para todas as etapas de tempo.

Isso é equivalente a aplicar LSTMBlockCell em um loop, como:

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.
 

Classes aninhadas

aula BlockLSTMV2.Options Atributos opcionais para BlockLSTMV2

Métodos Públicos

BlockLSTMV2.Options estáticos
cellClip (Float cellClip)
Saída <T>
ci ()
A entrada da célula em toda a sequência de tempo.
Saída <T>
co ()
A célula após o tanh ao longo de toda a sequência de tempo.
static <T extends Number> BlockLSTMV2 <T>
criar ( escopo do escopo, Operando <Long> 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, Options ... opções)
Método de fábrica para criar uma classe envolvendo uma nova operação BlockLSTMV2.
Saída <T>
cs ()
O estado da célula antes do tanh ao longo de toda a sequência de tempo.
Saída <T>
f ()
O portão de esquecimento em toda a seqüência de tempo.
Saída <T>
h ()
O vetor h de saída ao longo de toda a sequência de tempo.
Saída <T>
eu ()
A porta de entrada ao longo de toda a sequência de tempo.
Saída <T>
o ()
A porta de saída ao longo de toda a sequência de tempo.
BlockLSTMV2.Options estáticos
usePeephole (booleano usePeephole)

Métodos herdados

Métodos Públicos

public static BlockLSTMV2.Options cellClip (Float cellClip)

Parâmetros
cellClip Valor para o qual cortar o valor 'cs'.

Saída pública <T> ci ()

A entrada da célula em toda a sequência de tempo.

Public Output <T> co ()

A célula após o tanh ao longo de toda a sequência de tempo.

public static BlockLSTMV2 <T> create ( Scope escopo, Operando <longo> 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, Opções ... opções)

Método de fábrica para criar uma classe envolvendo uma nova operação BlockLSTMV2.

Parâmetros
alcance escopo atual
seqLenMax Duração máxima realmente usada por esta entrada. As saídas são preenchidas com zeros além desse comprimento.
x A sequência de entrada para o LSTM, forma (timelen, batch_size, num_inputs).
csPrev Valor do estado inicial da célula.
hPrev Saída inicial da célula (a ser usada como olho mágico).
C A matriz de peso.
wci A matriz de peso para a conexão do olho mágico da porta de entrada.
wcf A matriz de peso para esquecer a conexão do olho mágico do portão.
wco A matriz de peso para a conexão do olho mágico do portão de saída.
b O vetor de polarização.
opções carrega valores de atributos opcionais
Devoluções
  • uma nova instância de BlockLSTMV2

Public Output <T> cs ()

O estado da célula antes do tanh ao longo de toda a sequência de tempo.

Saída pública <T> f ()

O portão de esquecimento em toda a sequência de tempo.

Saída pública <T> h ()

O vetor h de saída ao longo de toda a sequência de tempo.

Saída pública <T> i ()

A porta de entrada ao longo de toda a sequência de tempo.

Saída pública <T> o ()

A porta de saída ao longo de toda a sequência de tempo.

public static BlockLSTMV2.Options usePeephole (Boolean usePeephole)

Parâmetros
usePeephole Se usar pesos de olho mágico.