code: def download_extract_and_process_dataset(data_path):
      """Download and extract the synthtext90 dataset."""
      archive_filepath = os.path.join(data_path, "mjsynth.tar.gz")
      extraction_directory = os.path.join(data_path, "mnt")
      if not os.path.isfile(archive_filepath) and not os.path.isdir(
          extraction_directory
      ):
          print("Downloading the dataset.")
          urllib.request.urlretrieve(
              "https://thor.robots.ox.ac.uk/~vgg/data/text/mjsynth.tar.gz",
              archive_filepath,
          )
      if not os.path.isdir(extraction_directory):
          print("Extracting files.")
          with tarfile.open(
              os.path.join(data_path, "mjsynth.tar.gz")
          ) as tfile:
  
              def is_within_directory(directory, target):
                  abs_directory = os.path.abspath(directory)
                  abs_target = os.path.abspath(target)
  
                  prefix = os.path.commonprefix(
                      [abs_directory, abs_target]
                  )
  
                  return prefix == abs_directory
  
              def safe_extract(
                  tar, path=".", members=None, *, numeric_owner=False
              ):
                  for member in tar.getmembers():
                      member_path = os.path.join(path, member.name)
                      if not is_within_directory(path, member_path):
                          raise Exception(
                              "Attempted Path Traversal in Tar File"
                          )
  
                  tar.extractall(
                      path, members, numeric_owner=numeric_owner
                  )
  
              safe_extract(tfile, data_path)
  
file_path: keras-ocr/scripts/train_recognizer_synthtext90_multigpu.py
imports: import datetime
  import argparse
  import math
  import random
  import string
  import functools
  import itertools
  import os
  import tarfile
  import urllib.request
  import numpy
  import cv2
  import imgaug
  import tqdm
  import tensorflow
  import keras_ocr
label_desc: Use image node_id 2 for calling a global function with example usage: download_extract_and_process_dataset(data_path) and returns: unknown