[Feature]: Update scienceqa

pull/1577/head
liuyuan 2023-05-22 11:28:21 +08:00
parent 87f849cbb6
commit 1537d46596
2 changed files with 7 additions and 5 deletions

View File

@ -69,7 +69,7 @@ class ScienceQA(BaseDataset):
ann['question'],
'choices':
ann['choices'],
'answer':
'gt_answer':
ann['answer'],
'hint':
ann['hint'],
@ -98,6 +98,8 @@ class ScienceQA(BaseDataset):
if ann['image'] is not None else None,
'caption':
ann['caption'],
'has_image':
True if ann['image'] is not None else False,
}
data_list.append(data_info)

View File

@ -56,7 +56,7 @@ class ScienceQAMetric(BaseMetric):
"""Process one batch of data samples.
data_samples should contain the following keys:
1. prediction (str): The prediction from the model,
1. pred_answer (str): The prediction from the model,
from ['A', 'B', 'C', 'D', 'E']
2. choices (List(str)): The choices for the question,
from ['A', 'B', 'C', 'D', 'E']
@ -66,7 +66,7 @@ class ScienceQAMetric(BaseMetric):
5. answer (str): The answer for the question, from
['A', 'B', 'C', 'D', 'E']
6. hint (str): The hint for the question
7. image (torch.Tensor): The image for the question
7. has_image (bool): Whether or not the question has image
The processed results should be stored in ``self.results``, which will
@ -80,7 +80,7 @@ class ScienceQAMetric(BaseMetric):
result = dict()
choices = data_sample.get('choices')
result['prediction'] = get_pred_idx(
data_sample.get('prediction'), choices, self.options)
data_sample.get('pred_answer'), choices, self.options)
result['grade'] = data_sample.get('grade')
result['subject'] = data_sample.get('subject')
result['answer'] = self.options[data_sample.get('answer')]
@ -89,7 +89,7 @@ class ScienceQAMetric(BaseMetric):
result[
'no_context'] = True if image is None and hint is None else False # noqa
result['has_text'] = True if hint is not None else False
result['has_image'] = True if image is not None else False
result['has_image'] = data_sample.get('has_image', False)
# Save the result to `self.results`.
self.results.append(result)