code: def _get_model(
      a_shape,
      b_shape,
      dtype,
      var_names,
      is_a_constant=False,
      is_b_constant=False,
  ):
      """Return a model and any parameters it may have"""
      a = relay.var(next(var_names), shape=a_shape, dtype=dtype)
      b = relay.var(next(var_names), shape=b_shape, dtype=dtype)
      params = {}
      if is_b_constant is True:
          b = tvm.nd.array(
              np.random.uniform(-128, 127, b_shape).astype(dtype)
          )
          params["b"] = b
          b = relay.const(b, dtype)
      if is_a_constant is True:
          a = tvm.nd.array(
              np.random.uniform(-128, 127, a_shape).astype(dtype)
          )
          params["a"] = a
          a = relay.const(a, dtype)
      out = relay.nn.batch_matmul(a, b)
      return out, params
  
file_path: tvm/tests/python/contrib/test_bnns/test_matmul.py
imports: import numpy
  import math
  import pytest
  import tvm
  from tvm import relay
  from tvm import testing
  from .infrastructure import Device, skip_runtime_test, skip_codegen_test, verify_codegen, build_and_run, verify, generate_trials
label_desc: Use image node_id 1 for calling a global function with example usage: _get_model(a_shape, b_shape, dtype, var_names, is_a_constant, is_b_constant) and returns: out,  params