code: def forward_cpu(self, x):
      self.retain_outputs((0,))
      try:
          invx = utils.force_array(numpy.linalg.inv(x[0]))
      except numpy.linalg.LinAlgError:
          raise ValueError("Input has singular matrices.")
      return (invx,)
  
imports: import numpy.linalg
  import chainer
  from chainer.backends import cuda
  from chainer import function_node
  import chainer.functions
  from chainer.functions.math import matmul
  from chainer import utils
  from chainer.utils import precision
  from chainer.utils import type_check
label_desc: Use image node_id 2 for calling the BatchInv obj's underlying member method code with example usage: obj.forward_cpu(x) and returns: invx