code: def shuffle_dataset(filenames, extra_fn=None):
    
    if outputs_exist(filenames):
      tf.logging.info("Skipping shuffle because output files exist")
      return
    tf.logging.info("Shuffling data...")
    for filename in filenames:
      _shuffle_single(filename, extra_fn=extra_fn)
    tf.logging.info("Data shuffled.")
docs: Shuffles the dataset.
  
    Args:
      filenames: a list of strings
      extra_fn: an optional function from list of records to list of records
        to be called after shuffling a file.