code: def _in_params(self):
      # 2D: raw T gy, int32 d_0, int32 d_1, int32 out_0, int32 out_1,
      #     int32 k_0, int32 k_1, int32 s_0, int32 s_1, int32 p_0,
      #     int32 p_1, ...
      def aux(x):
          return "int32 {}".format(x)
  
      in_params = self.in_params()
      if type(in_params) is tuple:
          raws = in_params[0]
          in_params = in_params[1]
      else:
          raws = []
      vars = self.ds + self.outs + self.ks + self.ss + self.ps
      return ", ".join(
          ["raw T gy"]
          + raws
          + conv_nd_kernel.map_(aux, vars)
          + in_params
      )
  
imports: from six import moves
  from chainer.backends import cuda
  from chainer.utils import conv_nd_kernel
label_desc: Use image node_id 9 for calling the PoolingNDKernelBackward obj's underlying member method code with example usage: obj._in_params() and returns: str, str