class_docstr: Parametric Rectified Linear Unit gradient function.
code: def forward_cpu(self, inputs):
      x, W, gy = inputs
      mask = self.cond >= 0
      masked = numpy.where(mask, 0, x * gy)
  
      if self.reduce_axes is None:
          # Reached from backward() of PReLUFunctionGrad i.e. this class, to
          # compute higher order derivatives
          gW = masked
      else:
          # Reached from backward() of PReLUFunction, to compute first
          # derivatives
          gW = masked.sum(axis=self.reduce_axes)
  
      if numpy.isscalar(gW):
          gW = numpy.array(gW)
  
      gx = gy.copy()
      masked = numpy.ma.array(gx, mask=mask)
      masked *= W.reshape(self.extended_shape)
      self.retain_inputs((0, 1, 2))
      return gx, gW
  
imports: import numpy
  import chainer
  from chainer.backends import cuda
  from chainer import function_node
  from chainer.utils import type_check
label_desc: Use image node_id 3 for calling the PReLUFunctionGrad obj's underlying member method code with example usage: obj.forward_cpu(inputs) and returns: gx,  gW