code: def test_global_shuffle_dont_mix_epochs():
      # with `random_shuffle=False` `shuffle_after_epoch=True` should
      # still make data random between epochs
      num_gpus = 2
      batch_size = 1
      pipes = [
          COCOReaderPipeline(
              batch_size=batch_size,
              num_threads=4,
              shard_id=gpu,
              num_gpus=num_gpus,
              data_paths=datasets[0],
              random_shuffle=False,
              stick_to_shard=False,
              shuffle_after_epoch=True,
              pad_last_batch=False,
          )
          for gpu in range(num_gpus)
      ]
  
      for pipe in pipes:
          pipe.build()
  
      _, img_ids_list_set, _ = gather_ids(pipes)
      _, img_ids_list_set_new, _ = gather_ids(pipes)
  
      assert img_ids_list_set[0] != img_ids_list_set_new[0]
      assert img_ids_list_set[1] != img_ids_list_set_new[1]
      assert img_ids_list_set[0].union(
          img_ids_list_set[1]
      ) == img_ids_list_set_new[0].union(img_ids_list_set_new[1])
  
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 6 for calling a global function with example usage: test_global_shuffle_dont_mix_epochs() without return types