synthesis-test / utils.py
theodotus's picture
Added answers ids
c42a8bf
raw
history blame
1.35 kB
import json
class Test:
def __init__(self):
self.data = self.read_test_data()
self.descriptions = self.read_image_descriptions()
def __len__(self):
return len(self.data)
@staticmethod
def read_test_data():
with open("test.json") as f:
test_data = json.load(f)
return test_data
@staticmethod
def read_image_descriptions():
with open("images/descriptions.txt") as f:
lines = f.readlines()
clean_lines = [line.strip() for line in lines]
return clean_lines
def get_question(self, idx):
question = self.data[idx]["question"]
return question
def get_answers(self, idx):
responces = self.data[idx]["responces"]
answers = [responce["answer"] for responce in responces]
return answers
def get_description(self, idx):
description = self.descriptions[idx]
return description
def get_image_path(self, idx):
image_path = f"images/{idx}.jpg"
return image_path
def convert_to_answer_ids(self, responces):
answer_ids = []
for idx, responce in enumerate(responces):
answers = self.get_answers(idx)
index = answers.index(responce)
answer_ids.append(index)
return answer_ids