BlockLSTMV2

public final class BlockLSTMV2

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

Isto é equivalente à aplicação de LSTMBlockCell num ciclo, assim:

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

classe BlockLSTMV2.Options Atributos opcionais para BlockLSTMV2

Métodos Públicos

estáticos BlockLSTMV2.Options
cellClip (Flutuador cellClip)
Output <T>
ci ()
A entrada da célula em toda a sequência de tempo.
Output <T>
co ()
A célula após o tanh ao longo de toda a sequência de tempo.
estática <T estende Number> BlockLSTMV2 <T>
criar ( 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 > OMA, Operando <T> b, Options ... opções)
Método de fábrica para criar uma classe envolvendo uma nova operação BlockLSTMV2.
Output <T>
cs ()
O estado da célula antes do tanh ao longo de toda a sequência de tempo.
Output <T>
f ()
O portão de esquecimento em toda a sequência de tempo.
Output <T>
h ()
O vetor h de saída ao longo de toda a sequência de tempo.
Output <T>
i ()
A porta de entrada ao longo de toda a sequência de tempo.
Output <T>
O ()
A porta de saída ao longo de toda a sequência de tempo.
estáticos BlockLSTMV2.Options
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'.

pública Output <T> ci ()

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

pública 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> OMA, 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

pública Output <T> cs ()

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

pública Output <T> f ()

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

pública Output <T> h ()

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

pública Output <T> i ()

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

pública Output <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.