code: def run_reduce_with_layout_with_mean_input(
      batch_size, get_batch, reduction, axes, axis_names, batch_fn
  ):
      pipe = Pipeline(batch_size=batch_size, num_threads=4, device_id=0)
      with pipe:
          input = fn.external_source(source=get_batch, layout="ABC")
          mean = fn.reductions.mean(input, axes=axes)
          reduced = reduction(input, mean, keep_dims=False, axes=axes)
          reduced_by_name = reduction(
              input, mean, keep_dims=False, axis_names=axis_names
          )
  
      pipe.set_outputs(reduced, reduced_by_name)
      pipe.build()
  
      run_and_compare_with_layout(batch_fn, pipe)
  
imports: import nvidia.dali.fn
  from nvidia.dali.pipeline import Pipeline
  from nose.tools import nottest
  import numpy
  from test_utils import np_type_to_dali
  from nose_utils import assert_raises
label_desc: Use image node_id 19 for calling a global function with example usage: run_reduce_with_layout_with_mean_input(batch_size, get_batch, reduction, axes, axis_names, batch_fn) without return types