code: def forward(self, x):
      if self.channel_per_group == 1:
          return x
      # max op
      b, c, h, w = x.shape
  
      # reshape
      y = paddle.reshape(x, [b, c // self.channel_per_group, -1, h, w])
      out = paddle.max(y, axis=2)
      return out
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import paddle
  import paddle.nn
  from ppocr.modeling.backbones.det_mobilenet_v3 import make_divisible
label_desc: Use image node_id 2 for calling the MaxGroupPooling obj's underlying member method code with example usage: obj.forward(x) and returns: out, x