code: def testMultipleIterators(
      self, reshuffle_each_iteration, buffer_size
  ):
      range_limit = 5
      num_repeats = 2
      num_outputs = range_limit * num_repeats
  
      def ds_fn():
          # pylint: disable=cell-var-from-loop
          return self._build_shuffle_dataset(
              range_limit=range_limit,
              num_repeats=num_repeats,
              buffer_size=buffer_size,
              seed=None,  # Iterator seeds are generated non-deterministically.
              reshuffle_each_iteration=reshuffle_each_iteration,
          )
          # pylint: enable=cell-var-from-loop
  
      with ops.Graph().as_default() as g:
          ds = ds_fn()
          iterators = [
              ds.make_one_shot_iterator(),
              ds.make_one_shot_iterator(),
          ]
          get_next_ops = [it.get_next() for it in iterators]
          saveables = [
              contrib_iterator_ops.make_saveable_from_iterator(it)
              for it in iterators
          ]
          for saveable in saveables:
              ops.add_to_collection(
                  ops.GraphKeys.SAVEABLE_OBJECTS, saveable
              )
          saver = saver_lib.Saver(allow_empty=True)
          with self.session(graph=g) as sess:
              self._save(sess, saver)
              expected = [
                  self.evaluate(get_next_ops)
                  for _ in range(num_outputs)
              ]
              self._restore(saver, sess)
              actual = [
                  self.evaluate(get_next_ops)
                  for _ in range(num_outputs)
              ]
              self.match(expected, actual)
  
imports: import collections
  import functools
  import sys
  from absl.testing import parameterized
  import numpy
  from tensorflow.python import pywrap_sanitizers
  from tensorflow.python.checkpoint import checkpoint
  from tensorflow.python.checkpoint import checkpoint_management
  from tensorflow.python.data.experimental.ops import iterator_ops
  from tensorflow.python.data.experimental.ops import random_access
  from tensorflow.python.data.kernel_tests import checkpoint_test_base
  from tensorflow.python.data.kernel_tests import test_base
  from tensorflow.python.data.ops import dataset_ops
  from tensorflow.python.data.ops import options
  from tensorflow.python.eager import def_function
  from tensorflow.python.framework import combinations
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import errors
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import random_seed
  from tensorflow.python.framework import tensor_spec
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import check_ops
  from tensorflow.python.ops import stateless_random_ops
  from tensorflow.python.ops import variables
  from tensorflow.python.platform import test
  from tensorflow.python.training import saver
label_desc: Use image node_id 3 for calling the ShuffleCheckpointTest obj's underlying member method code with example usage: obj.testMultipleIterators(reshuffle_each_iteration, buffer_size) and returns: self