Spaces:
Sleeping
Sleeping
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 | |
# set random seed usiing time | |
np.random.seed(int(time.time())) | |
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) | |
# set random seed usiing time | |
np.random.seed(int(time.time())) | |
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 | |
def load_csv_concepts(data_dir): | |
# Load data from csv | |
data = pd.read_csv(os.path.join(data_dir, 'concepts_by_class.csv')) | |
return data | |