code: def testConv3DTransposeSame(self):
      with self.cached_session():
          strides = [1, 2, 2, 2, 1]
  
          # Input, output: [batch, depth, height, width, depth]
          x_shape = [2, 5, 6, 4, 3]
          y_shape = [2, 10, 12, 8, 2]
  
          # Filter: [kernel_depth, kernel_height, kernel_width, out_depth, in_depth]
          f_shape = [3, 3, 3, 2, 3]
  
          x = constant_op.constant(
              1.0, shape=x_shape, name="x", dtype=dtypes.float32
          )
          f = constant_op.constant(
              1.0, shape=f_shape, name="filter", dtype=dtypes.float32
          )
          output = nn_ops.conv3d_transpose(
              x, f, y_shape, strides=strides, padding="SAME"
          )
          value = self.evaluate(output)
  
          for n in range(x_shape[0]):
              for k in range(f_shape[3]):
                  for w in range(y_shape[3]):
                      for h in range(y_shape[2]):
                          for d in range(y_shape[1]):
                              # We add a case for locations divisible by the stride.
                              d_in = (
                                  d % strides[1] == 0
                                  and 0 < d < y_shape[1] - 1
                              )
                              h_in = (
                                  h % strides[2] == 0
                                  and 0 < h < y_shape[2] - 1
                              )
                              w_in = (
                                  w % strides[3] == 0
                                  and 0 < w < y_shape[3] - 1
                              )
                              if d_in + h_in + w_in == 3:
                                  target = 8 * 3.0
                              elif d_in + h_in + w_in == 2:
                                  target = 4 * 3.0
                              elif d_in or h_in or w_in:
                                  target = 2 * 3.0
                              else:
                                  target = 3.0
                              self.assertAllClose(
                                  target, value[n, d, h, w, k]
                              )
  
file_path: tensorflow-upstream/tensorflow/python/kernel_tests/nn_ops/conv3d_transpose_test.py
imports: import numpy
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import gradient_checker
  from tensorflow.python.ops import nn_ops
  import tensorflow.python.ops.nn_grad
  from tensorflow.python.platform import test
label_desc: Use image node_id 2 for calling the Conv3DTransposeTest obj's underlying member method code with example usage: obj.testConv3DTransposeSame() without return types