code: def testRecordInputEpochs(self):
      files = 100
      records_per_file = 100
      batches = 2
      with self.cached_session() as sess:
          self.generateTestData("basic", files, records_per_file)
  
          records = data_flow_ops.RecordInput(
              file_pattern=os.path.join(self.get_temp_dir(), "basic.*"),
              parallelism=2,
              buffer_size=2000,
              batch_size=1,
              shift_ratio=0.33,
              seed=10,
              name="record_input",
              batches=batches,
          )
  
          yield_op = records.get_yield_op()
  
          # cycle over 3 epochs and make sure we never duplicate
          for _ in range(3):
              epoch_set = set()
              for _ in range(int(files * records_per_file / batches)):
                  op_list = self.evaluate(yield_op)
                  self.assertTrue(len(op_list) is batches)
                  for r in op_list:
                      self.assertTrue(r[0] not in epoch_set)
                      epoch_set.add(r[0])
  
file_path: tensorflow-upstream/tensorflow/python/kernel_tests/io_ops/record_input_test.py
imports: import os
  from tensorflow.python.framework import errors_impl
  from tensorflow.python.framework import test_util
  from tensorflow.python.lib.io import tf_record
  from tensorflow.python.ops import data_flow_ops
  from tensorflow.python.ops import variables
  from tensorflow.python.platform import test
label_desc: Use image node_id 5 for calling the RecordInputOpTest obj's underlying member method code with example usage: obj.testRecordInputEpochs() without return types