code: def batch_matmul(x, y, out_dtype=None, trans_x=False, trans_y=True):
      """batch_matmul operator implemented in numpy.
  
      Parameters
      ----------
      x : numpy.ndarray
          3-D with shape [batch, M, K]
  
      y : numpy.ndarray
          3-D with shape [batch, N, K]
  
      out_dtype: string, optional
          Specify the dtype of output
  
      Returns
      -------
      out : numpy.ndarray
          3-D with shape [batch, M, N]
      """
      if trans_x:
          XB, _, M = x.shape
      else:
          XB, M, _ = x.shape
      if trans_y:
          YB, N, _ = y.shape
      else:
          YB, _, N = y.shape
      batch = max(XB, YB)
      dtype = x.dtype if out_dtype is None else out_dtype
      out = np.zeros((batch, M, N)).astype(dtype)
      for i in range(batch):
          xx = x[i if XB != 1 else 0].astype(dtype)
          yy = y[i if YB != 1 else 0].astype(dtype)
          out[i] = np.dot(
              xx.T if trans_x else xx,
              yy.T if trans_y else yy,
          )
      return out
  
label_desc: Use image node_id 1 for calling a global function with example usage: batch_matmul(x, y, out_dtype, trans_x, trans_y) and returns: out