code: def _test_external_source_iter_split(use_fn_api, device):
      iter_num = 5
      batch_size = 9
      pipe = Pipeline(batch_size, 3, 0)
  
      # this should produce a three-element list of Tensor(Lists), the first
      # being 4D, the second being 2D and the third 3D (+ batch dimension)
      source = TestIterator(
          iter_num, batch_size, [4, 2, 3], device == "gpu"
      )
  
      if use_fn_api:
          inputs = fn.external_source(source, 3, device=device)
      else:
          ext_source = ops.ExternalSource(
              source, num_outputs=3, device=device
          )
          inputs = ext_source()
      pipe.set_outputs(*inputs)
      pipe.build()
  
      run_and_check(pipe, source)
  
imports: import functools
  import numpy
  import nvidia.dali.fn
  import nvidia.dali.ops
  from nvidia.dali import Pipeline
  from nose_utils import assert_raises
  from test_utils import check_output
label_desc: Use image node_id 15 for calling a global function with example usage: _test_external_source_iter_split(use_fn_api, device) without return types