| | from abc import abstractstaticmethod |
| | from typing import Dict, Optional, Union |
| |
|
| | from datasets import Dataset, DatasetDict |
| |
|
| | from opencompass.openicl import DatasetReader |
| |
|
| |
|
| | class BaseDataset: |
| |
|
| | def __init__(self, reader_cfg: Optional[Dict] = {}, **kwargs): |
| | self.dataset = self.load(**kwargs) |
| | self._init_reader(**reader_cfg) |
| |
|
| | def _init_reader(self, **kwargs): |
| | self.reader = DatasetReader(self.dataset, **kwargs) |
| |
|
| | @property |
| | def train(self): |
| | return self.reader.dataset['train'] |
| |
|
| | @property |
| | def test(self): |
| | return self.reader.dataset['test'] |
| |
|
| | @abstractstaticmethod |
| | def load(**kwargs) -> Union[Dataset, DatasetDict]: |
| | pass |
| |
|