glue-suite-v2 / glue-suite-v2.py
mathemakitten's picture
WIP
9f79b29
raw
history blame
1.97 kB
from datasets.features import Features, Sequence, Value
from evaluate.module import EvaluationModuleInfo
import evaluate
from typing import Optional, Union, Callable
from dataclasses import dataclass
from datasets import Dataset
@dataclass
class SubTask:
data: Optional[Union[str, Dataset]] = None
subset: Optional[str] = None
split: Optional[str] = None
data_preprocessor: Optional[Callable] = None
args_for_task: Optional[dict] = None
class Suite(evaluate.EvaluationSuite):
def __init__(self, name):
super().__init__(name)
#
# def _info(self):
# return EvaluationModuleInfo(
# module_type="evaluation_suite",
# description="dummy metric for tests",
# citation="insert citation here",
# features=Features({"predictions": Value("int64"), "references": Value("int64")}))
def setup(self):
self.preprocessor = None #lambda x: x["text"].lower()
self.suite = [
SubTask(
data="imdb",
split="test[:10]",
data_preprocessor=lambda x: x["text"].lower(),#self.preprocessor,
args_for_task={
"metric": "accuracy",
"input_column": "text",
"label_column": "label",
"label_mapping": {
"LABEL_0": 0.0,
"LABEL_1": 1.0
}
}
),
SubTask(
data="sst2",
split="test[:10]",
data_preprocessor=self.preprocessor,
args_for_task={
"metric": "accuracy",
"input_column": "sentence",
"label_column": "label",
"label_mapping": {
"LABEL_0": 0.0,
"LABEL_1": 1.0
}
}
)
]