class_docstr: Paraphrase problem.
code: def generate_samples(self, data_dir, tmp_dir, dataset_split):
      paraphrase_pairs = self.prepare_data(
          data_dir, tmp_dir, dataset_split
      )
      for caption1, caption2 in paraphrase_pairs:
          caption_pairs = [(caption1, caption2)]
          if self.bidirectional:
              caption_pairs += [(caption2, caption1)]
          for caption_pair in caption_pairs:
              yield {
                  "inputs": caption_pair[0],
                  "targets": caption_pair[1],
              }
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import collections
  import io
  import json
  import os
  import zipfile
  from tensor2tensor.data_generators import generator_utils
  from tensor2tensor.data_generators import problem
  from tensor2tensor.data_generators import text_problems
  from tensor2tensor.utils import registry
  import tensorflow.compat.v1
label_desc: Use image node_id 3 for calling the ParaphraseGenerationProblem obj's underlying member method code with example usage: obj.generate_samples(data_dir, tmp_dir, dataset_split) without return types