code: def conv3d_transpose_ncdhw_preprocess(
      data, kernel, strides, padding, out_dtype, output_padding
  ):
      """Preprocess data and kernel to make the compute pattern
      of conv3d_transpose the same as conv3d"""
      batch, in_c, in_d, in_h, in_w = data.shape
      _, out_c, filter_d, filter_h, filter_w = kernel.shape
      stride_d, stride_h, stride_w = strides
      opad_d, opad_h, opad_w = output_padding
      assert (
          opad_d < stride_d and opad_h < stride_h and opad_w < stride_w
      )
      # dilate data
      data_dilate = dilate(
          data, [1, 1, stride_d, stride_h, stride_w], name="data_dilate"
      )
      # pad data
      (
          fpad_front,
          fpad_top,
          fpad_left,
          fpad_back,
          fpad_bottom,
          fpad_right,
      ) = get_pad_tuple3d(padding, (filter_d, filter_h, filter_w))
      bpad_front = filter_d - 1 - fpad_front
      bpad_back = filter_d - 1 - fpad_back + opad_d
      bpad_top = filter_h - 1 - fpad_top
      bpad_bottom = filter_h - 1 - fpad_bottom + opad_h
      bpad_left = filter_w - 1 - fpad_left
      bpad_right = filter_w - 1 - fpad_right + opad_w
      data_pad = pad(
          data_dilate,
          [0, 0, bpad_front, bpad_top, bpad_left],
          [0, 0, bpad_back, bpad_bottom, bpad_right],
          name="data_pad",
      )
      # transform kernel layout from IODHW to OIDHW, and rotate kernel by 180 degrees
      kernel_transform = te.compute(
          (out_c, in_c, filter_d, filter_h, filter_w),
          lambda o, i, d, h, w: kernel[i][o][filter_d - 1 - d][
              filter_h - 1 - h
          ][filter_w - 1 - w],
          name="kernel_transform",
      )
      return data_pad, kernel_transform
  
file_path: tvm/python/tvm/topi/nn/conv3d_transpose.py
imports: import tvm
  from tvm import te
  from tvm import relay
  from .dilate import dilate
  from .pad import pad
  from .utils import get_pad_tuple3d
  from ..utils import simplify
label_desc: Use image node_id 2 for calling a global function with example usage: conv3d_transpose_ncdhw_preprocess(data, kernel, strides, padding, out_dtype, output_padding) and returns: data_pad,  kernel_transform