code: def _generate_examples(self, images_dir_path, csv_path=None, csv_usage=None):
      
      if csv_path:
        with tf.io.gfile.GFile(csv_path) as csv_f:
          reader = csv.DictReader(csv_f)
          data = [(row["image"], int(row["level"]))
                  for row in reader
                  if csv_usage is None or row["Usage"] == csv_usage]
      else:
        data = [(fname[:-5], -1)
                for fname in tf.io.gfile.listdir(images_dir_path)
                if fname.endswith(".jpeg")]
      for name, label in data:
        yield {
            "name": name,
            "image": _resize_image_if_necessary(
                tf.io.gfile.GFile("%s/%s.jpeg" % (images_dir_path, name),
                                  mode="rb"),
                target_pixels=self.builder_config.target_pixels),
            "label": label,
        }
docs: Yields Example instances from given CSV.
  
      Args:
        images_dir_path: path to dir in which images are stored.
        csv_path: optional, path to csv file with two columns: name of image and
          label. If not provided, just scan image directory, don't set labels.
        csv_usage: optional, subset of examples from the csv file to use based on
          the "Usage" column from the csv.