code: def schedule_conv2d_nchw_spatial_pack(cfg, outs):
      """TOPI schedule callback for conv2d
  
      Parameters
      ----------
      cfg: ConfigEntity
          The configuration of this template
      outs: Array of Tensor
          The computation graph description of convolution2d
          in the format of an array of tensors.
  
      Returns
      -------
      s: Schedule
          The computation schedule for conv2d
      """
      s = te.create_schedule([x.op for x in outs])
  
      def _callback(op):
          # schedule conv2d
          if "spatial_conv2d_output" in op.tag:
              _schedule_spatial_pack(cfg, s, op, layout="NCHW")
  
      traverse_inline(s, outs[0].op, _callback)
      return s
  
imports: import logging
  import tvm
  from tvm import te
  from tvm import relay
  from tvm import autotvm
  from tvm.autotvm.task.space import get_factors
  from ..utils import traverse_inline, get_const_int, get_const_tuple
  from ..None import nn
  from ..nn.winograd_util import winograd_transform_matrices
  from ..nn.conv2d import conv2d_winograd_nhwc, _conv2d_winograd_nhwc_impl
  from ..arm_cpu.conv2d_spatial_pack import conv2d_spatial_pack_nchw
  from ..arm_cpu.conv2d_spatial_pack import conv2d_spatial_pack_nhwc
label_desc: Use image node_id 2 for calling a global function with example usage: schedule_conv2d_nchw_spatial_pack(cfg, outs) and returns: s