class_docstr: Problem spec for French Street Name recognition.
class_docstr_tok: ["Problem","spec","for","French","Street","Name","recognition","."]
code: def generate_data(self, data_dir, tmp_dir, task_id=-1):
      list_url = (
          "https://raw.githubusercontent.com/tensorflow/models/master/"
          "street/python/fsns_urls.txt"
      )
      fsns_urls = generator_utils.maybe_download(
          tmp_dir, "fsns_urls.txt", list_url
      )
      fsns_files = [
          f.strip()
          for f in open(fsns_urls, "r")
          if f.startswith("http://")
      ]
      for url in fsns_files:
          if "/train/train" in url:
              generator_utils.maybe_download(
                  data_dir,
                  "image_fsns-train" + url[-len("-00100-of-00512") :],
                  url,
              )
          elif "/validation/validation" in url:
              generator_utils.maybe_download(
                  data_dir,
                  "image_fsns-dev" + url[-len("-00100-of-00512") :],
                  url,
              )
          elif "charset" in url:
              generator_utils.maybe_download(
                  data_dir, "charset_size134.txt", url
              )
  
file_path: tensor2tensor/tensor2tensor/data_generators/fsns.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import os
  from tensor2tensor.data_generators import generator_utils
  from tensor2tensor.data_generators import image_utils
  from tensor2tensor.data_generators import problem
  from tensor2tensor.data_generators import text_encoder
  from tensor2tensor.layers import modalities
  from tensor2tensor.utils import contrib
  from tensor2tensor.utils import registry
  import tensorflow.compat.v1
label_desc: Use image node_id 1 for calling the ImageFSNS obj's underlying member method code with example usage: obj.generate_data(data_dir, tmp_dir, task_id) without return types