code: def generate_encoded_samples(self, data_dir, tmp_dir, dataset_split):
      
      generator = self.generate_samples(data_dir, tmp_dir, dataset_split)
      encoder = self.get_or_create_vocab(data_dir, tmp_dir)
      label_encoder = self.get_labels_encoder(data_dir)
      for sample in generator:
        inputs = encoder.encode(sample["inputs"])
        inputs.append(text_encoder.EOS_ID)
        context = encoder.encode(sample["context"])
        context.append(text_encoder.EOS_ID)
        targets = label_encoder.encode(sample["targets"])
        sample["targets"] = targets
        yield {"inputs": inputs, "context": context, "targets": targets}
docs: A generator that generates samples that are encoded.
  
      Args:
        data_dir: data directory
        tmp_dir: temp directory
        dataset_split: dataset split
  
      Yields:
        A dict.