code: def forward(self, inputs):
      self.retain_inputs((0, 1, 2))
      a, b, gy = inputs
      ga = _batch_matmul(
          gy, b, False, not self.transb, self.transa
      ).reshape(a.shape)
      gb = _batch_matmul(
          a, gy, not self.transa, False, self.transb
      ).reshape(b.shape)
      return ga, gb
  
imports: import warnings
  import numpy
  from chainer import backend
  from chainer.backends import cuda
  from chainer import function_node
  import chainer.functions
  from chainer import utils
  from chainer.utils import type_check
  import chainerx
label_desc: Use image node_id 2 for calling the BatchMatMulGrad obj's underlying member method code with example usage: obj.forward(inputs) and returns: ga,  gb