code: def _test_conv2d(data_dtype, sch_rules, postprocs, target):
      d_shape = (1, 64, 56, 56)
      w_shape = (64, 64, 3, 3)
  
      weight_dtype = "int8"
      out_dtype = "int32"
  
      data = relay.var("data", shape=d_shape, dtype=data_dtype)
      weight = relay.var("weight", shape=w_shape, dtype=weight_dtype)
      out_channel = w_shape[0]
      conv2d = relay.nn.conv2d(
          data=data,
          weight=weight,
          kernel_size=w_shape[2:],
          channels=out_channel,
          padding=(1, 1),
          strides=(1, 1),
          out_dtype=out_dtype,
      )
  
      relay_mod = tvm.IRModule.from_expr(conv2d)
  
      data_np = np.random.uniform(1, 10, d_shape).astype(data_dtype)
      weight_np = np.random.uniform(1, 10, size=w_shape).astype("int8")
  
      tune_and_test(
          relay_mod,
          data_np,
          weight_np,
          "conv2d",
          target,
          sch_rules,
          postprocs,
      )
  
imports: import tempfile
  import numpy
  import pytest
  import tvm
  import tvm.testing
  import tvm.topi.testing
  from tvm import meta_schedule
  from tvm import relay
  from tvm.meta_schedule.testing import relay_workload
  from tvm.meta_schedule.testing.tlcbench import load_quantized_bert_base
  from tvm.tir.tensor_intrin.arm_cpu import DP4A_INTRIN
  from tvm.tir.tensor_intrin.rocm import AMDGPU_SDOT4_INTRIN
  from tvm.tir.tensor_intrin.x86 import VNNI_DOT_16x4_INTRIN
  from tvm.tir.tensor_intrin.x86 import AVX512_DOT_16x4_INTRIN
label_desc: Use image node_id 5 for calling a global function with example usage: _test_conv2d(data_dtype, sch_rules, postprocs, target) without return types