code: def backward(self, indexes, grad_outputs):
      return AveragePooling2D(
          (self.kh, self.kw),
          (self.sy, self.sx),
          (self.ph, self.pw),
          False,
      ).apply(grad_outputs)
  
imports: import numpy
  import chainer
  from chainer import backend
  from chainer.backends import cuda
  from chainer.backends import intel64
  from chainer import function_node
  from chainer.functions.pooling import average_pooling_nd
  from chainer.functions.pooling import pooling_2d
  from chainer.utils import conv
  import chainerx
label_desc: Use image node_id 5 for calling the AveragePooling2DGrad obj's underlying member method code with example usage: obj.backward(indexes, grad_outputs) and returns: AveragePooling2D