code: def make_concepts_targets_and_randoms(
      source_dir, number_of_images_per_folder, number_of_random_folders
  ):
      # Run script to download data to source_dir
      if not gfile.exists(source_dir):
          gfile.makedirs(source_dir)
      if not gfile.exists(
          os.path.join(source_dir, "broden1_224/")
      ) or not gfile.exists(os.path.join(source_dir, "inception5h")):
          subprocess.call(["bash", "FetchDataAndModels.sh", source_dir])
  
      # Determine classes that we will fetch
      imagenet_classes = ["zebra"]
      broden_concepts = ["striped", "dotted", "zigzagged"]
  
      # make targets from imagenet
      imagenet_dataframe = fetcher.make_imagenet_dataframe(
          "./imagenet_url_map.csv"
      )
      for image in imagenet_classes:
          fetcher.fetch_imagenet_class(
              source_dir,
              image,
              number_of_images_per_folder,
              imagenet_dataframe,
          )
  
      # Make concepts from broden
      for concept in broden_concepts:
          fetcher.download_texture_to_working_folder(
              broden_path=os.path.join(source_dir, "broden1_224"),
              saving_path=source_dir,
              texture_name=concept,
              number_of_images=number_of_images_per_folder,
          )
  
      # Make random folders. If we want to run N random experiments with tcav, we need N+1 folders.
      fetcher.generate_random_folders(
          working_directory=source_dir,
          random_folder_prefix="random500",
          number_of_random_folders=number_of_random_folders + 1,
          number_of_examples_per_folder=number_of_images_per_folder,
          imagenet_dataframe=imagenet_dataframe,
      )
  
imports: import subprocess
  import os
  import argparse
  from tensorflow.io import gfile
  import imagenet_and_broden_fetcher
label_desc: Use image node_id 1 for calling a global function with example usage: make_concepts_targets_and_randoms(source_dir, number_of_images_per_folder, number_of_random_folders) without return types