syntax error on two functions

This commit is contained in:
Paul Spiegelhalter 2016-11-11 15:12:03 -08:00
parent f27db1d9b5
commit 0d7031a8f1

View File

@ -101,10 +101,11 @@ class _Attention(object):
self.model = TimeDistributed(self.model) self.model = TimeDistributed(self.model)
def __call__(self, sent1, sent2): def __call__(self, sent1, sent2):
def _outer((A, B)): def _outer(AB):
att_ji = T.batched_dot(B, A.dimshuffle((0, 2, 1))) att_ji = T.batched_dot(AB[1], AB[0].dimshuffle((0, 2, 1)))
return att_ji.dimshuffle((0, 2, 1)) return att_ji.dimshuffle((0, 2, 1))
return merge( return merge(
[self.model(sent1), self.model(sent2)], [self.model(sent1), self.model(sent2)],
mode=_outer, mode=_outer,
@ -117,7 +118,9 @@ class _SoftAlignment(object):
self.nr_hidden = nr_hidden self.nr_hidden = nr_hidden
def __call__(self, sentence, attention, transpose=False): def __call__(self, sentence, attention, transpose=False):
def _normalize_attention((att, mat)): def _normalize_attention(attmat):
att = attmat[0]
mat = attmat[1]
if transpose: if transpose:
att = att.dimshuffle((0, 2, 1)) att = att.dimshuffle((0, 2, 1))
# 3d softmax # 3d softmax