Calcula a propagação direta da célula GRU para um intervalo de tempo.
Args x: entrada para a célula GRU. h_prev: Estado de entrada da célula GRU anterior. w_ru: Matriz de peso para a porta de reinicialização e atualização. w_c: Matriz de peso para a porta de conexão da célula. b_ru: Vetor de polarização para a porta de reset e atualização. b_c: Vetor de polarização para a porta de conexão da célula.
Retorna r: Saída da porta de reset. u: Saída da porta de atualização. c: Saída da porta de conexão da célula. h: Estado atual da célula GRU.
Nota sobre a notação das variáveis:
A concatenação de aeb é representada por a_b O produto escalar elemento a e b é representado por ab O produto escalar elemento é representado por \ circ A multiplicação da matriz é representada por *
As polarizações são inicializadas com: `b_ru` - constant_initializer (1.0)` b_c` - constant_initializer (0.0)
Esta op do kernel implementa as seguintes equações matemáticas:
x_h_prev = [x, h_prev]
[r_bar u_bar] = x_h_prev * w_ru + b_ru
r = sigmoid(r_bar)
u = sigmoid(u_bar)
h_prevr = h_prev \circ r
x_h_prevr = [x h_prevr]
c_bar = x_h_prevr * w_c + b_c
c = tanh(c_bar)
h = (1-u) \circ c + u \circ h_prev
Constantes
Fragmento | OP_NAME | O nome desta operação, conforme conhecido pelo motor principal TensorFlow |
Métodos Públicos
Output <T> | c () |
estática <T estende TNumber > GRUBlockCell <T> | |
Output <T> | h () |
Output <T> | R () |
Output <T> | u () |
Métodos herdados
Constantes
nome_op final String public static
O nome desta operação, conforme conhecido pelo motor principal TensorFlow
Métodos Públicos
public static GRUBlockCell <T> create ( Scope escopo, Operando <T> x, Operando <T> hPrev, Operando <T> WRU, Operando <T> WC, Operando <T> Bru, Operando <T> aC)
Método de fábrica para criar uma classe envolvendo uma nova operação GRUBlockCell.
Parâmetros
alcance | escopo atual |
---|
Devoluções
- uma nova instância de GRUBlockCell