code: def test_shuffling_patterns():
      for dataset in datasets:
          # get reference ids
          ref_img_ids = []
          pipe = COCOReaderPipeline(
              batch_size=1,
              num_threads=4,
              shard_id=0,
              num_gpus=1,
              data_paths=dataset,
              random_shuffle=False,
              stick_to_shard=False,
              shuffle_after_epoch=False,
              pad_last_batch=False,
          )
          pipe.build()
          iters = pipe.epoch_size("Reader")
          for _ in range(iters):
              pipe.schedule_run()
              ref_img_ids.append(
                  np.concatenate(pipe.outputs()[0].as_array())
              )
          ref_img_ids = set(np.concatenate(ref_img_ids))
          for num_gpus in [1, 2, 3, 4]:
              for batch_size in [1, 10, 100]:
                  for stick_to_shard in [True, False]:
                      for shuffle_after_epoch in [True, False]:
                          for dry_run_num in [0, 1, 2]:
                              yield (
                                  check_shuffling_patterns,
                                  dataset,
                                  num_gpus,
                                  batch_size,
                                  stick_to_shard,
                                  shuffle_after_epoch,
                                  dry_run_num,
                                  len(ref_img_ids),
                              )
  
imports: import nose_utils
  import math
  from nvidia.dali.pipeline import Pipeline
  import nvidia.dali.ops
  import numpy
  import os
  from test_utils import get_dali_extra_path
label_desc: Use image node_id 1 for calling a global function with example usage: test_shuffling_patterns() without return types