class_docstr: MpAttentiveMatch Layer.
  
  Reference:
  https://github.com/zhiguowang/BiMPM/blob/master/src/match_utils.py#L188-L193
  
  Examples:
      >>> import matchzoo as mz
      >>> layer = mz.contrib.layers.multi_perspective_layer.MpAttentiveMatch(
      ...     att_dim=30, mp_dim=20)
      >>> layer.compute_output_shape([(32, 10, 100), (32, 40, 100)])
      (32, 40, 20)
class_docstr_tok: ["MpAttentiveMatch","Layer",".","Reference",":","https",":","\/\/github.com\/zhiguowang\/BiMPM\/blob\/master\/src\/match_utils.py","#","L188-L193","Examples",":",">",">",">","import","matchzoo","as","mz",">",">",">","layer","=","mz.contrib.layers.multi_perspective_layer.MpAttentiveMatch","(","...","att_dim=30",",","mp_dim=20",")",">",">",">","layer.compute_output_shape","(","[","(","32",",","10",",","100",")",",","(","32",",","40",",","100",")","]",")","(","32",",","40",",","20",")"]
docstr: Call.
docstr_tok: ["Call","."]
code: def call(self, x, **kwargs):
      """Call."""
      reps_lt, reps_rt = x[0], x[1]
      # attention prob matrix
      attention_layer = AttentionLayer(self.att_dim)
      attn_prob = attention_layer([reps_rt, reps_lt])
      # attention reps
      att_lt = K.batch_dot(attn_prob, reps_lt)
      # mp match
      attn_match_tensor, match_dim = _multi_perspective_match(
          self.mp_dim, reps_rt, att_lt
      )
      return attn_match_tensor
  
imports: import tensorflow
  from keras import backend
  from keras.engine import Layer
  from matchzoo.contrib.layers.attention_layer import AttentionLayer
label_desc: Use image node_id 3 for calling the MpAttentiveMatch obj's underlying member method code with example usage: obj.call(x) and returns: attn_match_tensor