mirror of
https://github.com/open-compass/opencompass.git
synced 2025-05-30 16:03:24 +08:00

* update commonsenseqa * update drop * update flores_first100 * update gsm8k * update humaneval * update lambda * update obqa * update piqa * update race * update siqa * update story_cloze * update strategyqa * update tydiqa * update winogrande * update doc * update hellaswag * fix obqa * update collections * update .zip name
45 lines
1.4 KiB
Python
45 lines
1.4 KiB
Python
import json
|
|
import os
|
|
|
|
from datasets import Dataset, DatasetDict
|
|
|
|
from opencompass.registry import LOAD_DATASET
|
|
|
|
from .base import BaseDataset
|
|
|
|
|
|
@LOAD_DATASET.register_module()
|
|
class commonsenseqaDataset(BaseDataset):
|
|
|
|
@staticmethod
|
|
def load(path):
|
|
dataset = {}
|
|
for split, stub in [
|
|
['train', 'train_rand_split.jsonl'],
|
|
['validation', 'dev_rand_split.jsonl'],
|
|
]:
|
|
data_path = os.path.join(path, stub)
|
|
dataset_list = []
|
|
with open(data_path, 'r', encoding='utf-8') as f:
|
|
for line in f:
|
|
line = json.loads(line)
|
|
dataset_list.append({
|
|
'question':
|
|
line['question']['stem'],
|
|
'A':
|
|
line['question']['choices'][0]['text'],
|
|
'B':
|
|
line['question']['choices'][1]['text'],
|
|
'C':
|
|
line['question']['choices'][2]['text'],
|
|
'D':
|
|
line['question']['choices'][3]['text'],
|
|
'E':
|
|
line['question']['choices'][4]['text'],
|
|
'answerKey':
|
|
line['answerKey'],
|
|
})
|
|
dataset[split] = Dataset.from_list(dataset_list)
|
|
|
|
return DatasetDict(dataset)
|