Official implementation of the Fake News Revealer paper
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

data_loader.py 1.0KB

12345678910111213141516171819202122232425262728293031
  1. from PIL import Image
  2. from cv2 import cv2
  3. from numpy import asarray
  4. from data.data_loader import DatasetLoader
  5. class TwitterDatasetLoader(DatasetLoader):
  6. def __getitem__(self, idx):
  7. item = self.set_text(idx)
  8. item.update(self.set_img(idx))
  9. return item
  10. def set_img(self, idx):
  11. try:
  12. if self.mode == 'train':
  13. image = cv2.imread(f"{self.config.train_image_path}/{self.image_filenames[idx]}")
  14. elif self.mode == 'validation':
  15. image = cv2.imread(f"{self.config.validation_image_path}/{self.image_filenames[idx]}")
  16. else:
  17. image = cv2.imread(f"{self.config.test_image_path}/{self.image_filenames[idx]}")
  18. image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
  19. except:
  20. image = Image.open(f"{self.config.train_image_path}/{self.image_filenames[idx]}").convert('RGB')
  21. image = asarray(image)
  22. return self.set_image(image)
  23. def __len__(self):
  24. return len(self.text)