File size: 1,268 Bytes
f4d9912
 
 
 
 
 
 
 
 
 
 
 
 
28349ee
 
f4d9912
 
 
 
 
 
 
 
 
cf46cef
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f4d9912
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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_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
    # set random seed using 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

def generate_random_ids():
    # generate three sets of random ids (three among 1-4, 1-8, 1-12)
    # get time as seed
    seed = int(time.time())
    np.random.seed(seed)
    ids1 = np.random.choice(np.arange(1, 5), 3, replace=False)
    ids2 = np.random.choice(np.arange(2, 10), 3, replace=False)
    ids3 = np.random.choice(np.arange(3, 15), 3, replace=False)

    return [ids1, ids2, ids3]