in datasets/ImbalanceImageNet.py [0:0]
def __init__(self, root, txt, subset_class_idx, transform=None):
self.img_path = []
self.labels = []
self.transform = transform
with open(txt) as f:
for line in f:
_label = int(line.split()[1])
if _label in subset_class_idx:
self.labels.append(_label)
self.img_path.append(os.path.join(root, line.split()[0]))
num_classes = len(subset_class_idx)
# self.img_num_per_cls = np.zeros(num_classes)
# for i in range(num_classes):
# self.img_num_per_cls[i] = np.sum(np.array(self.labels)==subset_class_idx[i])
self.labels = np.array(self.labels)
self.img_num_per_cls = [(self.labels==subset_class_idx[i]).sum() for i in range(num_classes)]