def buildDecomposition(self):
q_embedding = self.tensors['q-embedding']
a_embedding = self.tensors['a-embedding']
q_match = self.tensors['q-match']
a_match = self.tensors['a-match']
# compute q+, q-, a+, a-
# ?????????????BATCH_SIZE????????????
# ??Lambda???Lambda?ouput_shape?????BATCH_SIZE??
# ??????Lambda????????BATCH_SIZE???????
# ????BATCH_SIZE?????????????????????
# ????Merge??BATCH_SIZE????Lambda??
q_channels = Merge(
mode=lambda x: decomposite(*x),
output_shape=(self.params['batch_size'], 2, self.q_length, self.wdim),
name='q-channels'
)([q_embedding, q_match])
a_channels = Merge(
mode=lambda x: decomposite(*x),
output_shape=(self.params['batch_size'], 2, self.a_length, self.wdim),
name='a-channels',
)([a_embedding, a_match])
print('q_channels', q_channels._keras_shape, K.ndim(q_channels))
print('a_channels', a_channels._keras_shape, K.ndim(a_channels))
self.tensors['q-channels'] = q_channels
self.tensors['a-channels'] = a_channels
评论列表
文章目录