code: def forward_gpu(self, inputs):
      self.retain_inputs((0, 1, 2))
      x, beta, gy = inputs
      beta = beta.reshape(self.extended_shape)
  
      gx, gb = cuda.elementwise(
          "T x, T beta, T gy",
          "T gx, T gb",
          """
              T bx = beta * x;
              T sig = sigmoid(bx);
              T y = x * sig;
              T by = beta * y;
              gx = gy * (by + sig * (1 - by));
              gb = gy * y * (x - y);
              """,
          "swish_bwd",
          preamble=_preamble,
      )(x, beta, gy)
      gb = utils.force_array(gb.sum(axis=self.reduction_axes))
      return gx, gb
  
imports: import numpy
  import chainer
  from chainer.backends import cuda
  from chainer import function_node
  from chainer import utils
  from chainer.utils import type_check
label_desc: Use image node_id 3 for calling the SwishGrad obj's underlying member method code with example usage: obj.forward_gpu(inputs) and returns: gx,  gb