code: def untokenized_tfds_dataset(dataset_name=gin.REQUIRED,
                               text2self=gin.REQUIRED,
                               tfds_data_dir=gin.REQUIRED,
                               dataset_split=gin.REQUIRED,
                               batch_size=gin.REQUIRED,
                               sequence_length=gin.REQUIRED,
                               vocabulary=gin.REQUIRED,
                               pack=gin.REQUIRED):
    
    dataset = tfds.load(
        dataset_name, split=dataset_split,
        as_supervised=True, data_dir=tfds_data_dir)
    if dataset_split == "train":
      dataset = dataset.repeat()
      dataset = dataset.shuffle(1000)
    dataset = supervised_to_dict(dataset, text2self)
    dataset = encode_all_features(dataset, vocabulary)
    return pack_and_batch(dataset, batch_size, sequence_length, pack)
docs: Reads a tensorflow_datasets dataset.
  
    Returns a tf.data.Dataset containing single tokenized examples where each
    feature ends in EOS=1.
  
    Args:
      dataset_name: a string
      text2self: a boolean
      tfds_data_dir: a boolean
      dataset_split: a string
      batch_size: an integer
      sequence_length: an integer
      vocabulary: a vocabulary.Vocabulary
      pack: if True, multiple examples emitted by load_internal() are concatenated
          to form one combined example.
    Returns:
      a tf.data.Dataset of batches