class_docstr: Test variety of parameters, defined in BaseDepthwiseConv2D.  Also
  has llvm-specific tests for workload padding.
class_docstr_tok: ["Test","variety","of","parameters",",","defined","in","BaseDepthwiseConv2D",".","Also","has","llvm-specific","tests","for","workload","padding","."]
code: def test_workload_padding(
      self,
      out_dtype,
      layout,
      input_shape,
      filter_shape,
      target,
      ref_data,
      stride,
      padding,
      dilation,
  ):
      input_np, filter_np, scale_np, shift_np, output_np = ref_data
      if layout == "NCHW":
          _, _, out_height, out_width = output_np.shape
      elif layout == "NHWC":
          _, out_height, out_width, _ = output_np.shape
      elif layout == "NCHWc":
          _, _, out_height, out_width, _ = output_np.shape
  
      Input = te.placeholder(input_shape, name="Input")
      Filter = te.placeholder(filter_shape, name="Filter")
      wkl = _get_workload(
          Input,
          Filter,
          (stride, stride),
          padding,
          dilation,
          out_dtype,
          layout,
      )
  
      # check if tile_ow candidates are the factors of the right output weight.
      with tvm.target.Target(target):
          cfg = autotvm.get_config()
          _fallback_schedule(cfg, wkl)
          ow_tile = np.prod(cfg["tile_ow"].size)
  
          tvm.testing.assert_allclose(ow_tile, out_width)
  
imports: import sys
  import numpy
  import pytest
  import tvm
  import tvm.testing
  import tvm.topi.testing
  from tvm import autotvm, te, topi
  from tvm.topi.utils import get_const_tuple
  from tvm.topi.nn.utils import get_pad_tuple
  from tvm.contrib.pickle_memoize import memoize
  from tvm.topi.nn.depthwise_conv2d import _get_workload
  from tvm.topi.x86.depthwise_conv2d import _fallback_schedule
  from tvm.topi.generic import conv2d
label_desc: Use image node_id 1 for calling the TestDepthwiseConv2D obj's underlying member method code with example usage: obj.test_workload_padding(out_dtype, layout, input_shape, filter_shape, target, ref_data, stride, padding, dilation) without return types