ddecosmo commited on
Commit
5a4e311
·
verified ·
1 Parent(s): 6ae4715

Upload dataset.py with huggingface_hub

Browse files
Files changed (1) hide show
  1. dataset.py +52 -0
dataset.py ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ from torchvision import transforms
3
+ import pandas as pd
4
+ import numpy as np
5
+ from torch.utils.data import Dataset
6
+ from torchvision.datasets.folder import default_loader
7
+
8
+ IMAGE_NET_MEAN = [0.485, 0.456, 0.406]
9
+ IMAGE_NET_STD = [0.229, 0.224, 0.225]
10
+ normalize = transforms.Normalize(
11
+ mean=IMAGE_NET_MEAN,
12
+ std=IMAGE_NET_STD)
13
+
14
+ class AVADataset(Dataset):
15
+ def __init__(self, path_to_csv, images_path, if_train):
16
+ self.df = pd.read_csv(path_to_csv)
17
+ self.images_path = images_path
18
+ self.if_train = if_train
19
+ if if_train:
20
+ self.transform = transforms.Compose([
21
+ # transforms.Resize((256, 256)),
22
+ transforms.RandomHorizontalFlip(),
23
+ # transforms.RandomCrop((224, 224)),
24
+ transforms.ToTensor(),
25
+ normalize])
26
+ else:
27
+ self.transform = transforms.Compose([
28
+ # transforms.Resize((224, 224)),
29
+ transforms.ToTensor(),
30
+ normalize])
31
+
32
+ def __len__(self):
33
+ return self.df.shape[0]
34
+
35
+ def __getitem__(self, item):
36
+ row = self.df.iloc[item]
37
+
38
+ scores_names = [f'score{i}' for i in range(2, 12)]
39
+ y = np.array([row[k] for k in scores_names])
40
+
41
+ p = y / y.sum()
42
+ image_id = row['image_id']
43
+
44
+ image_id = int(image_id)
45
+
46
+ image_path = os.path.join(self.images_path, f'{image_id}.jpg')
47
+ image = default_loader(image_path)
48
+
49
+ image = image.resize((224, 224))
50
+ x = self.transform(image)
51
+
52
+ return x, p.astype('float32')