code: def testRaggedSplitDynamicShape(self, rt_shape, lengths_shape):
      rt_spec = ragged_tensor.RaggedTensorSpec(rt_shape, ragged_rank=1)
      lengths_spec = tensor_spec.TensorSpec(
          lengths_shape, dtype=dtypes.int32
      )
  
      @def_function.function(input_signature=[rt_spec, lengths_spec])
      def split_tensors(rt, split_lengths):
          return ragged_array_ops.split(rt, split_lengths, num=2)
  
      rt = ragged_tensor.RaggedTensor.from_row_lengths(
          [1.0, 2.0, 3.0, 4.0], [3, 1]
      )
      split_lengths = [1, 1]
      # split_lengths matches num at runtime
      splited_rts = split_tensors(rt, split_lengths)
      expected_rts = [
          ragged_tensor.RaggedTensor.from_row_lengths(
              [1.0, 2.0, 3.0], [3]
          ),
          ragged_tensor.RaggedTensor.from_row_lengths([4.0], [1]),
      ]
      for splited_rt, expected_rt in zip(splited_rts, expected_rts):
          self.assertAllEqual(splited_rt, expected_rt)
  
imports: import itertools
  from absl.testing import parameterized
  import numpy
  from tensorflow.python.eager import def_function
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import errors
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import tensor_spec
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops.ragged import ragged_array_ops
  from tensorflow.python.ops.ragged import ragged_tensor
  from tensorflow.python.platform import googletest
label_desc: Use image node_id 5 for calling the RaggedSplitOpTest obj's underlying member method code with example usage: obj.testRaggedSplitDynamicShape(rt_shape, lengths_shape) and returns: ragged_array_ops