code: def _kernel_vec_spatial_pack_nhwc(
      kernel, kernel_bits, VC, use_bitpack=True
  ):
      if use_bitpack:
          kernel_q = bitpack(
              kernel,
              kernel_bits,
              pack_axis=2,
              bit_axis=2,
              pack_type="uint8",
          )
      else:
          kernel_q = kernel
      KH, KW, KB, CI, CO = kernel_q.shape
      kvshape = (CO // VC, KH, KW, KB, VC, CI)
      return te.compute(
          kvshape,
          lambda co, dh, dw, b, vc, ci: kernel_q[dh][dw][b][ci][
              co * VC + vc
          ],
          name="kernel_vec",
      )
  
file_path: tvm/python/tvm/topi/arm_cpu/bitserial_conv2d.py
imports: from __future__ import absolute_import
  import tvm
  from tvm import te
  from tvm import autotvm
  from tvm import relay
  from ..nn.pad import pad
  from ..nn.bitserial_conv2d import bitserial_conv2d_legalize
  from ..nn.bitserial_util import bitpack, binary_op_multiplier
  from ..nn.utils import get_pad_tuple
  from ..utils import get_const_int, get_const_tuple, traverse_inline
label_desc: Use image node_id 1 for calling a global function with example usage: _kernel_vec_spatial_pack_nhwc(kernel, kernel_bits, VC, use_bitpack) and returns: te