def __init__(self, params, bert_layer, decoder_layer, name=None):
     super(NHNet, self).__init__(params,
                                 bert_layer,
                                 decoder_layer,
                                 name=name)
     self.doc_attention = multi_channel_attention.VotingAttention(
         num_heads=params.num_decoder_attn_heads,
         head_size=params.hidden_size // params.num_decoder_attn_heads)
Beispiel #2
0
 def test_doc_attention(self):
     num_heads = 2
     doc_attention = multi_channel_attention.VotingAttention(num_heads,
                                                             head_size=8)
     num_docs = 3
     inputs = np.zeros((2, num_docs, 10, 16), dtype=np.float32)
     doc_mask = np.zeros((2, num_docs), dtype=np.float32)
     outputs = doc_attention(inputs, doc_mask)
     self.assertEqual(outputs.shape, (2, num_docs))