in src/similarity/index.py [0:0]
def get_training_tuple_tensors(self, i) :
n = len(Zappos50kIndex.CATEGORIES_LABELS)+1
img1_tensors = torch.empty(n, 3, 224, 224, dtype=torch.float)
img2_tensors = torch.empty(n, 3, 224, 224, dtype=torch.float)
labels_tensors = torch.empty(n, dtype=torch.float)
img1 = self.get(i)
(c1, sc1) = Zappos50kIndex.get_categorization(img1)
img1_tensor = Zappos50kIndex.getImageTensor(self.data_dir+img1, Zappos50kIndex.TRANSFORMATIONS)
img1_tensors[0,:,:,:] = img1_tensor
img2_tensors[0,:,:,:] = Zappos50kIndex.getImageTensor(self.data_dir+img1, Zappos50kIndex.TRANSFORMATIONS)
labels_tensors[0] = Zappos50kIndex.WEIGHT_SAME_IMG
k = 1
for (c,sc) in Zappos50kIndex.CATEGORIES_LABELS :
r = self.get_rand_id(c,sc)
lw = Zappos50kIndex.WEIGHT_DIFF_IMG
if (c1 == c) :
lw = lw - Zappos50kIndex.PARAM_SAME_CATEGORY_WEIGHTING
if (sc1 == sc):
while(r == i):
r = self.get_rand_id(c,sc)
if (sc1 == sc) :
lw = lw - Zappos50kIndex.PARAM_SAME_SUBCATEGORY_WEIGHTING
img2 = self.get(r)
img1_tensors[k,:,:,:] = img1_tensor
img2_tensors[k,:,:,:] = Zappos50kIndex.getImageTensor(self.data_dir+img2, Zappos50kIndex.TRANSFORMATIONS)
labels_tensors[k] = lw
k+=1
return {'img1':img1_tensors, 'img2':img2_tensors, 'labels':labels_tensors}