code: def create_iwilds_cam_disk_filelist(
      input_path: str, output_path: str
  ):
      meta_data_path = os.path.join(input_path, "metadata.csv")
      image_folder = os.path.join(input_path, "train")
      meta_data = pd.read_csv(meta_data_path)
  
      splits = sorted(set(meta_data["split"]))
      with tqdm(total=len(meta_data)) as pbar:
          for split in splits:
              image_paths, image_labels = [], []
              split_meta_data = meta_data[meta_data["split"] == split]
              split_meta_data = split_meta_data[["filename", "y"]]
              for _, (file_name, y) in split_meta_data.iterrows():
                  image_paths.append(
                      os.path.join(image_folder, file_name)
                  )
                  image_labels.append(y)
                  pbar.update(1)
              image_paths_file = os.path.join(
                  output_path, f"{split}_images.npy"
              )
              image_labels_file = os.path.join(
                  output_path, f"{split}_labels.npy"
              )
              save_file(np.array(image_paths), image_paths_file)
              save_file(np.array(image_labels), image_labels_file)
  
file_path: vissl/extra_scripts/datasets/create_iwilds_cam_data_files.py
imports: import argparse
  import os
  import numpy
  import pandas
  from tqdm import tqdm
  from vissl.utils.download import download_and_extract_archive
  from vissl.utils.io import save_file
label_desc: Use image node_id 3 for calling a global function with example usage: create_iwilds_cam_disk_filelist(input_path, output_path) without return types