class_docstr: Implement the grad of average pooling on the gpu.
class_docstr_tok: ["Implement","the","grad","of","average","pooling","on","the","gpu","."]
code: def grad(self, inp, grads):
      x, gz, ws, stride, pad = inp
      (ggx,) = grads
      return [
          theano.tensor.zeros_like(x),
          GpuPool(
              ignore_border=self.ignore_border,
              ndim=self.ndim,
              mode=self.mode,
          )(ggx, ws, stride, pad),
      ] + [theano.gradient.DisconnectedType()() for i in inp[2:]]
  
imports: from __future__ import absolute_import, print_function, division
  import theano
  from theano import Apply
  from theano.gof import ParamsType
  from theano.scalar import bool
  from theano.tensor.basic import as_tensor_variable
  from theano.tensor.signal.pool import Pool, PoolingMode_t
  from .type import gpu_context_type
  from .basic_ops import CGpuKernelBase, infer_context_name, gpuarray_helper_inc_dir, as_gpuarray_variable, gpu_contiguous
label_desc: Use image node_id 7 for calling the GpuAveragePoolGrad obj's underlying member method code with example usage: obj.grad(inp, grads) and returns: unknown