code: def testShapeInferenceUnknownShapes(self):
      with self.session():
          sp_inputs = [
              self._SparseTensor_UnknownShape(),
              self._SparseTensor_UnknownShape(val_shape=[3]),
              self._SparseTensor_UnknownShape(ind_shape=[1, 3]),
              self._SparseTensor_UnknownShape(shape_shape=[3]),
          ]
  
          for concat_dim in (-2, 0):
              sp_concat = sparse_ops.sparse_concat(
                  concat_dim, sp_inputs
              )
  
              self.assertEqual(
                  sp_concat.indices.get_shape().as_list(), [None, 3]
              )
              self.assertEqual(
                  sp_concat.values.get_shape().as_list(), [None]
              )
              self.assertEqual(sp_concat.dense_shape.get_shape(), [3])
  
imports: import numpy
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import sparse_tensor
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import sparse_ops
  from tensorflow.python.platform import test
label_desc: Use image node_id 23 for calling the SparseConcatTest obj's underlying member method code with example usage: obj.testShapeInferenceUnknownShapes() without return types