code: def expected_output_np(input_np, dilated_weights_np, stride, dtype):
      dilated_weights_np_t = dilated_weights_np.transpose(0, 1, 3, 2)
      ref_type = dtype
      if dtype in ("uint8", "int8"):
          # for quantized versions, return float32 output
          ref_type = "float32"
      ref_np = depthwise_conv2d_python_nhwc(
          input_np.astype("float32"),
          dilated_weights_np_t.astype("float32"),
          stride,
          padding=0,
      ).astype(ref_type)
      return ref_np
  
imports: import numpy
  import tvm
  import tvm.testing
  import tvm.topi.hexagon.qnn
  from tvm.topi.testing import depthwise_conv2d_python_nhwc
  from tvm.topi.hexagon.slice_ops.dwconv2d import dwconv2d_compute, dwconv2d_schedule
  from tvm.contrib.hexagon import allocate_hexagon_array
  from ...infrastructure import transform_numpy, quantize_np
label_desc: Use image node_id 4 for calling a global function with example usage: expected_output_np(input_np, dilated_weights_np, stride, dtype) and returns: ref_np