code: def schedule_conv3d_ndhwc(cfg, outs):
      """TOPI schedule callback for conv3d
  
      Parameters
      ----------
      outs: Array of Tensor
          The computation graph description of conv3d
          in the format of an array of tensors.
  
      Returns
      -------
      s: Schedule
          The computation schedule for conv3d.
      """
      s = te.create_schedule([x.op for x in outs])
  
      def _traverse(op):
          if "conv3d_ndhwc" in op.tag:
              output = op.output(0)
              conv_out = op.input_tensors[0]
              kernel_vec = conv_out.op.input_tensors[1]
              kernel = kernel_vec.op.input_tensors[0]
              if (
                  isinstance(kernel.op, tvm.te.ComputeOp)
                  and "dilate" in kernel.op.tag
              ):
                  s[kernel].compute_inline()
              data_vec = conv_out.op.input_tensors[0]
              data = data_vec.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]
  
              kd, kh, kw, i, o = get_const_tuple(kernel.shape)
              args = [
                  s,
                  cfg,
                  data,
                  data_pad,
                  data_vec,
                  kernel_vec,
                  conv_out,
                  output,
                  outs[0],
              ]
              _schedule_conv3d_ndhwc(*args)
  
      traverse_inline(s, outs[0].op, _traverse)
      return s
  
file_path: tvm/python/tvm/topi/x86/conv3d.py
imports: from collections import namedtuple
  import tvm
  from tvm import autotvm, te
  from tvm.autotvm.task.space import OtherOptionEntity, SplitEntity
  from tvm.target.x86 import get_simd_32bit_lanes
  from ..nn.pad import pad
  from ..nn.utils import get_pad_tuple3d, infer_pad3d
  from ..utils import get_const_int, get_const_tuple, simplify, traverse_inline
label_desc: Use image node_id 3 for calling a global function with example usage: schedule_conv3d_ndhwc(cfg, outs) and returns: s