code: def test_int8_depthwise_conv2d(target, expected_impl):
      target = tvm.target.Target(target)
  
      dtype = "int8"
      out_dtype = "int32"
      data_shape = (2, 2, 4, 8)
      weight_shape = (2, 2, 8, 1)
      data_layout = "NHWC"
      kernel_layout = "HWOI"
      groups = 8
      kernel_size = (2, 2)
  
      out = relay.nn.conv2d(
          relay.var("data", shape=data_shape, dtype=dtype),
          relay.var("weight", shape=weight_shape, dtype=dtype),
          kernel_size=kernel_size,
          data_layout=data_layout,
          kernel_layout=kernel_layout,
          groups=groups,
          out_dtype=out_dtype,
      )
      out = run_infer_type(out)
  
      with target:
          impl, _ = relay.backend.te_compiler.select_implementation(
              out.op,
              out.attrs,
              [
                  te.placeholder(data_shape, dtype),
                  te.placeholder(weight_shape, dtype),
              ],
              out.checked_type,
              target,
          )
  
      assert impl.name == expected_impl
  
file_path: tvm/tests/python/relay/strategy/test_select_implementation.py
imports: import pytest
  import numpy
  from unittest.mock import MagicMock
  import tvm
  from tvm import relay
  from tvm import te
  from tvm.relay.testing import run_infer_type, run_opt_pass
  import tvm.testing
  from tvm import topi
label_desc: Use image node_id 6 for calling a global function with example usage: test_int8_depthwise_conv2d(target, expected_impl) without return types