Spaces:
Sleeping
Sleeping
| from dataclasses import dataclass, make_dataclass | |
| from about import Tasks | |
| def fields(raw_class): | |
| return [v for k, v in raw_class.__dict__.items() if k[:2] != "__" and k[-2:] != "__"] | |
| # These classes are for user facing column names, | |
| # to avoid having to change them all around the code | |
| # when a modif is needed | |
| class ColumnContent: | |
| name: str | |
| type: str | |
| displayed_by_default: bool | |
| hidden: bool = False | |
| never_hidden: bool = False | |
| auto_eval_column_dict = [ | |
| ( | |
| "model", | |
| ColumnContent, | |
| ColumnContent("model", "markdown", True, never_hidden=True), | |
| ), | |
| ("CPU", ColumnContent, ColumnContent("CPU", "number", True)), | |
| ("GPU", ColumnContent, ColumnContent("GPU", "number", True)), | |
| ("size", ColumnContent, ColumnContent("size", "number", True)), | |
| ("MeanS", ColumnContent, ColumnContent("Mean S", "number", True)), | |
| ("MeanSW", ColumnContent, ColumnContent("Mean S+W", "number", True)), | |
| ("dim", ColumnContent, ColumnContent("dim", "number", True)), | |
| ("STS", ColumnContent, ColumnContent("STS", "number", True)), | |
| ("PI", ColumnContent, ColumnContent("PI", "number", True)), | |
| ("NLI", ColumnContent, ColumnContent("NLI", "number", True)), | |
| ("SA", ColumnContent, ColumnContent("SA", "number", True)), | |
| ("TI", ColumnContent, ColumnContent("TI", "number", True)), | |
| ("II", ColumnContent, ColumnContent("II", "number", True)), | |
| ("IC", ColumnContent, ColumnContent("IC", "number", True)), | |
| ("ICX", ColumnContent, ColumnContent("ICX", "number", True)), | |
| ("NE1", ColumnContent, ColumnContent("NE1", "number", True)), | |
| ("NE2", ColumnContent, ColumnContent("NE2", "number", True)), | |
| ( | |
| "is_private", | |
| ColumnContent, | |
| ColumnContent("is_private", "boolean", True, hidden=True), | |
| ), | |
| ] | |
| # We use make dataclass to dynamically fill the scores from Tasks | |
| AutoEvalColumn = make_dataclass("AutoEvalColumn", auto_eval_column_dict, frozen=True) | |
| COLS = [c.name for c in fields(AutoEvalColumn) if not c.hidden] | |
| TYPES = [c.type for c in fields(AutoEvalColumn) if not c.hidden] | |
| COLS_LITE = [c.name for c in fields(AutoEvalColumn) if c.displayed_by_default and not c.hidden] | |
| TYPES_LITE = [c.type for c in fields(AutoEvalColumn) if c.displayed_by_default and not c.hidden] | |
| BENCHMARK_COLS = [t.value.col_name for t in Tasks] | |