class_docstr: Layer that computes dynamic pooling of one tensor.
  
  :param psize1: pooling size of dimension 1
  :param psize2: pooling size of dimension 2
  :param kwargs: Standard layer keyword arguments.
  
  Examples:
      >>> import matchzoo as mz
      >>> layer = mz.layers.DynamicPoolingLayer(3, 2)
      >>> num_batch, left_len, right_len, num_dim = 5, 3, 2, 10
      >>> layer.build([[num_batch, left_len, right_len, num_dim],
      ...              [num_batch, left_len, right_len, 3]])
docstr: Build the layer.
  
  :param input_shape: the shapes of the input tensors,
      for DynamicPoolingLayer we need tow input tensors.
code: def build(self, input_shape: typing.List[int]):
      """
      Build the layer.
  
      :param input_shape: the shapes of the input tensors,
          for DynamicPoolingLayer we need tow input tensors.
      """
      super().build(input_shape)
      input_shape_one = input_shape[0]
      self._msize1 = input_shape_one[1]
      self._msize2 = input_shape_one[2]
  
file_path: MatchZoo/matchzoo/layers/dynamic_pooling_layer.py
imports: import typing
  import tensorflow
  from keras.engine import Layer
label_desc: Use image node_id 2 for calling the DynamicPoolingLayer obj's underlying member method code with example usage: obj.build(input_shape) without return types