code: def maxpool(self, k=2, s=None, globe=False):
          
          self.count['mp'] += 1
          scope = 'maxpool_' + str(self.count['mp'])
          with tf.variable_scope(scope):
              if globe is True:  # Global Pool Parameters
                  k1 = self.input.get_shape()[1]
                  k2 = self.input.get_shape()[2]
                  s1 = 1
                  s2 = 1
                  padding = 'VALID'
              else:
                  k1 = k
                  k2 = k
                  if s is None:
                      s1 = k
                      s2 = k
                  else:
                      s1 = s
                      s2 = s
                  padding = 'SAME'
              # Max Pool Function
              self.input = tf.nn.max_pool(self.input, ksize=[1, k1, k2, 1], strides=[1, s1, s2, 1], padding=padding)
          print(scope + ' output: ' + str(self.input.get_shape()))
docs: Takes max value over a k x k area in each input map, or over the entire map (global = True)
          :param k: int
          :param globe:  int, whether to pool over each feature map in its entirety