class_docstr: Average pooling over a set of N-dimensional planes.
  
  .. warning::
  
      This feature is experimental. The interface can change in the future.
code: def __init__(
      self,
      ndim,
      ksize,
      stride=None,
      pad=0,
      cover_all=False,
      pad_value=0,
  ):
      if not (pad_value is None or pad_value == 0):
          raise ValueError(
              "pad_value must be either 0 or None, not {}.".format(
                  pad_value
              )
          )
  
      # TODO(takagi) Support cover_all mode.
      if cover_all is True:
          raise ValueError("`cover_all` mode is not supported yet.")
  
      super(AveragePoolingND, self).__init__(
          ndim, ksize, stride=stride, pad=pad, cover_all=cover_all
      )
  
      self.pad_value = pad_value
  
imports: import functools
  import operator
  import numpy
  import six
  import chainer
  from chainer import backend
  from chainer.backends import cuda
  from chainer import function_node
  from chainer.functions.pooling import average_pooling_nd_kernel
  from chainer.functions.pooling import pooling_nd
  from chainer.utils import conv
  from chainer.utils import conv_nd
  import chainerx
label_desc: Use image node_id 1 to create a new AveragePoolingND object from inherited base classes: pooling_nd with example: obj = AveragePoolingND(ndim, ksize, stride, pad, cover_all, pad_value)