code: def _testGradientsSimple(self):
      with self.session():
          inp = []
          inp_tensors = []
          with self.test_scope():
              for x in [1, 2, 6]:
                  shape = [10, x, 2]
                  t = np.random.rand(*shape).astype("f")
                  inp.append(t)
                  inp_tensors.append(
                      constant_op.constant(
                          [float(y) for y in t.flatten()],
                          shape=shape,
                          dtype=dtypes.float32,
                      )
                  )
              c = array_ops.concat(inp_tensors, 1)
              output_shape = [10, 9, 2]
              grad_inp = np.random.rand(*output_shape).astype("f")
              grad_tensor = constant_op.constant(
                  [float(x) for x in grad_inp.flatten()],
                  shape=output_shape,
              )
              grad = gradients_impl.gradients(
                  [c], inp_tensors, [grad_tensor]
              )
              concated_grad = array_ops.concat(grad, 1)
          result = self.evaluate(concated_grad)
      self.assertAllEqual(result, grad_inp)
  
imports: import numpy
  from tensorflow.compiler.tests import xla_test
  from tensorflow.python import pywrap_sanitizers
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import array_ops_stack
  from tensorflow.python.ops import gen_array_ops
  from tensorflow.python.ops import gradients_impl
  from tensorflow.python.ops import math_ops
  from tensorflow.python.platform import googletest
label_desc: Use image node_id 7 for calling the ConcatTest obj's underlying member method code with example usage: obj._testGradientsSimple() without return types