class_docstr: A keras implementation of multi-perspective layer of BiMPM.
  
  For detailed information, see Bilateral Multi-Perspective
  Matching for Natural Language Sentences, section 3.2.
  
  Examples:
      >>> import matchzoo as mz
      >>> perspective={'full': True, 'max-pooling': True,
      ...     'attentive': True, 'max-attentive': True}
      >>> layer = mz.contrib.layers.MultiPerspectiveLayer(
      ...     att_dim=50, mp_dim=20, perspective=perspective)
      >>> layer.compute_output_shape(
      ...     [(32, 10, 100), (32, 50), None, (32, 50), None,
      ...     [(32, 40, 100), (32, 50), None, (32, 50), None]])
      (32, 10, 83)
class_docstr_tok: ["A","keras","implementation","of","multi-perspective","layer","of","BiMPM",".","For","detailed","information",",","see","Bilateral","Multi-Perspective","Matching","for","Natural","Language","Sentences",",","section","3.2",".","Examples",":",">",">",">","import","matchzoo","as","mz",">",">",">","perspective=","{","'full","'",":","True",",","'max-pooling","'",":","True",",","...","'attentive","'",":","True",",","'max-attentive","'",":","True","}",">",">",">","layer","=","mz.contrib.layers.MultiPerspectiveLayer","(","...","att_dim=50",",","mp_dim=20",",","perspective=perspective",")",">",">",">","layer.compute_output_shape","(","...","[","(","32",",","10",",","100",")",",","(","32",",","50",")",",","None",",","(","32",",","50",")",",","None",",","...","[","(","32",",","40",",","100",")",",","(","32",",","50",")",",","None",",","(","32",",","50",")",",","None","]","]",")","(","32",",","10",",","83",")"]
docstr: Compute output shape.
docstr_tok: ["Compute","output","shape","."]
code: def compute_output_shape(self, input_shape: list):
      """Compute output shape."""
      shape_a = input_shape[0]
  
      match_dim = 0
      if self._perspective.get("full"):
          match_dim += self._mp_dim + 1
      if self._perspective.get("max-pooling"):
          match_dim += self._mp_dim
      if self._perspective.get("attentive"):
          match_dim += self._mp_dim + 1
      if self._perspective.get("max-attentive"):
          match_dim += self._mp_dim + 1
  
      return shape_a[0], shape_a[1], match_dim
  
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 6 for calling the MultiPerspectiveLayer obj's underlying member method code with example usage: obj.compute_output_shape(input_shape) and returns: shape_a,  shape_a,  match_dim