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: Get `dpool_size` suggestion for a given shape.
  
  Returns the nearest legal `dpool_size` for the given combination of
  `(psize1, psize2)`.
  
  :param msize1: size of the left text.
  :param msize2: size of the right text.
  :param psize1: base size of the pool.
  :param psize2: base size of the pool.
  :return:
code: def get_size_suggestion(
      cls, msize1: int, msize2: int, psize1: int, psize2: int
  ) -> typing.Tuple[int, int]:
      """
      Get `dpool_size` suggestion for a given shape.
  
      Returns the nearest legal `dpool_size` for the given combination of
      `(psize1, psize2)`.
  
      :param msize1: size of the left text.
      :param msize2: size of the right text.
      :param psize1: base size of the pool.
      :param psize2: base size of the pool.
      :return:
      """
      stride1 = msize1 // psize1
      stride2 = msize2 // psize2
      suggestion1 = msize1 // stride1
      suggestion2 = msize2 // stride2
      return (suggestion1, suggestion2)
  
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 7 for calling the DynamicPoolingLayer obj's underlying member method code with example usage: obj.get_size_suggestion(cls, msize1, msize2, psize1, psize2) and returns: suggestion1,  suggestion2