code: def schedule_conv2d_nhwc(outs):
      """Create schedule for conv2d_nhwc"""
      outs = [outs] if isinstance(outs, te.tensor.Tensor) else outs
      s = te.create_schedule([x.op for x in outs])
      output_op = outs[0].op
  
      def _callback(op):
          if "conv2d_nhwc" in op.tag:
              conv = op.output(0)
              kernel = op.input_tensors[1]
              if (
                  isinstance(kernel.op, tvm.te.ComputeOp)
                  and "dilate" in kernel.op.tag
              ):
                  s[kernel].compute_inline()
  
              data = op.input_tensors[0]
              data_pad = None
              if (
                  isinstance(data.op, tvm.te.ComputeOp)
                  and "pad" in data.op.tag
              ):
                  data_pad = data
                  data = data_pad.op.input_tensors[0]
  
              n_pad, h_pad, w_pad, c_pad = data_pad.op.axis
              pad_fused = s[data_pad].fuse(n_pad, h_pad)
              s[data_pad].parallel(pad_fused)
              C = conv
              n, h, w, c = C.op.axis
              s[C].vectorize(c)
  
              O = output_op.output(0)
              if len(O.op.axis) == 4:  # schedule bias + bn + relu
                  n, h, w, c = O.op.axis
                  fused = s[O].fuse(n, h, w)
                  s[O].parallel(fused)
                  channels = int(O.shape[-1])
                  if channels % 64 == 0:
                      c, ci = s[O].split(c, 64)
                      s[O].vectorize(ci)
                  if C != O:
                      s[C].compute_at(s[O], c)
  
      traverse_inline(s, output_op, _callback)
      return s
  
imports: import logging
  import tvm
  from tvm import te
  from tvm import autotvm
  from tvm.contrib import dnnl
  from ..None import nn
  from ..generic import schedule_extern
  from ..nn.conv2d import conv2d_infer_layout, _get_workload
  from ..nn.conv2d import unpack_NCHWc_to_nchw
  from ..nn.depthwise_conv2d import _get_workload
  from ..nn.utils import get_pad_tuple
  from ..utils import get_const_tuple, traverse_inline
  from .None import conv2d_avx_1x1, conv2d_avx_common
label_desc: Use image node_id 3 for calling a global function with example usage: schedule_conv2d_nhwc(outs) and returns: s