Веса внимания рассчитываются как:
Я хочу знать, что означает h_s
.
В коде тензорного потока кодировщик RNN возвращает кортеж:
encoder_outputs, encoder_state = tf.nn.dynamic_rnn(...)
Как мне кажется, h_s
должно быть encoder_state
, но github/nmt дает другой ответ?
# attention_states: [batch_size, max_time, num_units]
attention_states = tf.transpose(encoder_outputs, [1, 0, 2])
# Create an attention mechanism
attention_mechanism = tf.contrib.seq2seq.LuongAttention(
num_units, attention_states,
memory_sequence_length=source_sequence_length)
Я неправильно понял код? Или h_s
на самом деле означает encoder_outputs
?