code: def test_conv3d_ncdhw():
      # 3DCNN  workloads
      verify_conv3d_ncdhw(1, 32, 32, 5, 1, 1, 0)
      verify_conv3d_ncdhw(1, 32, 32, 1, 1, 1, 0)
      verify_conv3d_ncdhw(1, 32, 32, 5, 1, 1, 1)
      verify_conv3d_ncdhw(1, 32, 32, 1, 1, 1, 1)
  
      # bias, relu
      verify_conv3d_ncdhw(1, 64, 56, 3, 1, 1, 1, add_relu=True)
      verify_conv3d_ncdhw(1, 64, 56, 3, 1, 1, 1, add_bias=True)
      verify_conv3d_ncdhw(
          1, 64, 56, 3, 1, 1, 1, add_bias=True, add_relu=True
      )
  
      # dilation = 2
      verify_conv3d_ncdhw(1, 64, 56, 3, 3, 1, 1, dilation=2)
  
      # batch size
      verify_conv3d_ncdhw(4, 64, 56, 5, 3, 1, 1)
  
      # weird workloads
      verify_conv3d_ncdhw(2, 2, 2, 2, 2, 2, 2)
      verify_conv3d_ncdhw(3, 3, 3, 3, 3, 3, 3)
  
      # Asymmetric padding
      verify_conv3d_ncdhw(1, 32, 32, 5, 1, 1, (0, 0, 0, 1, 1, 1))
      verify_conv3d_ncdhw(1, 32, 32, 1, 1, 1, (2, 1, 2, 1, 2, 1))
      verify_conv3d_ncdhw(
          1, 64, 56, 3, 3, 1, (2, 2, 2, 1, 1, 1), dilation=2
      )
      verify_conv3d_ncdhw(1, 32, 32, 5, 1, 1, (0, 1, 1))
      verify_conv3d_ncdhw(1, 32, 32, 1, 1, 1, (2, 1, 0))
      verify_conv3d_ncdhw(1, 32, 32, 1, 3, 1, "VALID")
      verify_conv3d_ncdhw(1, 32, 32, 5, 1, 1, "VALID")
  
      # DHW kernel layout
      verify_conv3d_ncdhw(1, 32, 56, 16, (3, 5, 7), 2, (1, 2, 3))
      verify_conv3d_ncdhw(
          1, 3, 56, 16, (3, 7, 7), 2, (1, 2, 3, 0, 3, 2)
      )
      verify_conv3d_ncdhw(1, 3, 56, 16, (3, 3, 7), 2, (1, 2, 3))
      verify_conv3d_ncdhw(1, 3, 56, 16, (3, 7, 3), 2, (1, 3, 1))
  
      # grouped workloads
      verify_conv3d_ncdhw(1, 32, 32, 8, 1, 1, 0, groups=4)
      verify_conv3d_ncdhw(1, 32, 32, 4, 1, 1, 0, groups=4)
      verify_conv3d_ncdhw(1, 32, 32, 8, 1, 1, 1, groups=4)
      verify_conv3d_ncdhw(1, 32, 32, 4, 1, 1, 1, groups=4)
  
file_path: tvm/tests/python/topi/test_topi_conv3d_ncdhw.py
imports: import numpy
  import tvm
  from tvm import te
  from tvm import autotvm
  from tvm import topi
  import tvm.testing
  import tvm.topi.testing
  from tvm.contrib.pickle_memoize import memoize
  from tvm.topi.nn.utils import get_pad_tuple3d
  from tvm.topi.utils import get_const_tuple
label_desc: Use image node_id 2 for calling a global function with example usage: test_conv3d_ncdhw() without return types