code: def test_split(self, tensor_splits, split_as_arg, gc, dc):
      # Output Size: 1 - inf
      axis, split_info, splits = tensor_splits
  
      split_as_arg = True
  
      if split_as_arg:
          input_tensors = [np.concatenate(splits, axis=axis)]
          kwargs = dict(
              axis=axis, split=split_info, num_output=len(splits)
          )
      else:
          input_tensors = [
              np.concatenate(splits, axis=axis),
              split_info,
          ]
          kwargs = dict(axis=axis, num_output=len(splits))
      result = Functional.Split(
          *input_tensors, device_option=gc, **kwargs
      )
  
      def split_ref(input, split=split_info):
          s = np.cumsum([0] + list(split))
          return [
              np.array(input.take(np.arange(s[i], s[i + 1]), axis=axis))
              for i in range(len(split))
          ]
  
      result_ref = split_ref(*input_tensors)
      for i, ref in enumerate(result_ref):
          np.testing.assert_array_equal(
              result[i], ref, err_msg="Functional Relu result mismatch"
          )
  
file_path: pytorch/caffe2/python/functional_test.py
imports: import unittest
  from caffe2.python import core
  from hypothesis import given
  import hypothesis.strategies
  import caffe2.python.hypothesis_test_util
  from caffe2.python import workspace
  from caffe2.python.functional import Functional
  import numpy
label_desc: Use image node_id 3 for calling the TestFunctional obj's underlying member method code with example usage: obj.test_split(tensor_splits, split_as_arg, gc, dc) and returns: unknown