import os import pandas as pd from huggingface_hub import HfApi, HfFolder import yaml import numpy as np import time config = yaml.safe_load(open("./config/config.yaml")) def load_image_and_saliency(class_idx, data_dir): path = os.path.join(data_dir, 'images', str(class_idx)) images = os.listdir(path) # pick a random image id = np.random.randint(0, len(images)) image = os.path.join(path, images[id]) gradcam_image = os.path.join(data_dir, 'saliency', 'gradcam', images[id]) lime_image = os.path.join(data_dir, 'saliency', 'lime', images[id]) sidu_image = os.path.join(data_dir, 'saliency', 'sidu', images[id]) rise_image = os.path.join(data_dir, 'saliency', 'rise', images[id]) return image, gradcam_image, lime_image, sidu_image, rise_image def load_example_images(class_idx, data_dir, max_images=16): path = os.path.join(data_dir, 'images', str(class_idx)) images = os.listdir(path) # pick max_images random images ids = np.random.choice(len(images), max_images, replace=False) images = [os.path.join(path, images[id]) for id in ids] return images # Function to load words based on global variable def load_words(idx): words = [f"word_{idx}_{i}" for i in range(20)] return words