glue-suite-v2 / glue-suite-v2.py
mathemakitten's picture
WIP
23752a5
from datasets.features import Features, Sequence, Value
from evaluate.module import EvaluationModuleInfo
# from evaluate.evaluation_suite import SubTask
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
}
}
)
]