code: def test_per_sample_norm_args():
      for cmn_fn, device in fn_dev_pairs:
          for random_mean, random_std in [
              (True, True),
              (True, False),
              (False, True),
          ]:
              for scale, shift in [(None, None), (255.0, -128.0)]:
                  yield (
                      check_cmn_per_sample_norm_args,
                      cmn_fn,
                      device,
                      random_mean,
                      random_std,
                      scale,
                      shift,
                  )
  
imports: import numpy
  import nvidia.dali
  import nvidia.dali.fn
  import nvidia.dali.ops
  import nvidia.dali.types
  import os
  from functools import partial
  from nvidia.dali import pipeline_def
  from nvidia.dali.pipeline import Pipeline
  from nose2.tools import params
  from nose_utils import assert_raises
  from nose_utils import raises
  from test_slice import check_slice_output, abs_slice_start_and_end
  from test_utils import RandomDataIterator
  from test_utils import as_array
  from test_utils import compare_pipelines, dali_type_to_np
  from test_utils import get_dali_extra_path
  import itertools
label_desc: Use image node_id 16 for calling a global function with example usage: test_per_sample_norm_args() without return types