def __getitem__(self, index):

        img_name = self.files[self.split][index]
        img_path = img_name
        print(len(img_path))
        # img = m.imread(img_path)
        img = cv2.imread(img_path)
        height, width, channels = img.shape
        # img = np.array(img, dtype=np.uint8)
        if self.split != "testing":

            lbl_path = self.labels[self.split][index]
            lbl_lines = open(lbl_path, 'r').readlines()
            if self.target_transform is not None:
                target = self.target_transform(lbl_lines, width, height)
        else:
            lbl = None
        # if self.is_transform:
        #     img, lbl = self.transform(img, lbl)
        if self.transforms is not None:
            target = np.array(target)
            img, boxes, labels = self.transforms(img, target[:, :4], target[:, 4])
            # img, lbl = self.transforms(img, lbl)
            img = img[:, :, (2, 1, 0)]
            target = np.hstack((boxes, np.expand_dims(labels, axis=1)))
        if self.split != "testing":
            # return img, lbl
            return torch.from_numpy(img).permute(2, 0, 1), target, height, width
        else:
            return img