code: def check_dynamic_axes(
      device, batch_size, num_threads, use_negative, use_empty
  ):
      get_dynamic_axes = generator_random_axes_for_3d_input(
          batch_size,
          use_negative=use_negative,
          use_empty=use_empty,
          extra_out_desc=[
              (0.0, 0.2, np.float32),
              (0.4, 0.6, np.float32),
          ],  # rel_start  # rel_shape
      )
      check_rel_start_rel_shape(
          device,
          batch_size,
          num_threads,
          get_dynamic_axes=get_dynamic_axes,
          args_device="cpu",
      )
  
imports: from nvidia.dali import Pipeline, pipeline_def, ops, fn, types
  import numpy
  import os
  from functools import partial
  from math import floor
  from test_utils import compare_pipelines, get_dali_extra_path, RandomDataIterator, generator_random_axes_for_3d_input, generator_random_data, as_array
  from nose_utils import assert_raises
  from nose2.tools import params
label_desc: Use image node_id 24 for calling a global function with example usage: check_dynamic_axes(device, batch_size, num_threads, use_negative, use_empty) without return types