code: def _augment_keypoints_by_samples(self, keypoints_on_images, samples):
      if self.keep_size:
          return keypoints_on_images
  
      kernel_sizes_h, kernel_sizes_w = samples
  
      gen = enumerate(
          zip(keypoints_on_images, kernel_sizes_h, kernel_sizes_w)
      )
      for i, (kpsoi, ksize_h, ksize_w) in gen:
          if ksize_h >= 2 or ksize_w >= 2:
              new_shape = _compute_shape_after_pooling(
                  kpsoi.shape, ksize_h, ksize_w
              )
  
              keypoints_on_images[i] = kpsoi.on_(new_shape)
  
      return keypoints_on_images
  
imports: from __future__ import print_function, division, absolute_import
  from abc import ABCMeta, abstractmethod
  import functools
  import six
  import numpy
  import imgaug
  from .None import meta
  from ..None import parameters
label_desc: Use image node_id 9 for calling the _AbstractPoolingBase obj's underlying member method code with example usage: obj._augment_keypoints_by_samples(keypoints_on_images, samples) and returns: keypoints_on_images, keypoints_on_images