From 82746035403182c7dfecdf53a043215eb0fc754c Mon Sep 17 00:00:00 2001 From: zhangsongyang Date: Mon, 19 May 2025 13:39:11 +0000 Subject: [PATCH] Update --- opencompass/datasets/math.py | 6 +++++- opencompass/datasets/musr/musr.py | 6 +++++- opencompass/openicl/icl_evaluator/icl_base_evaluator.py | 3 ++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/opencompass/datasets/math.py b/opencompass/datasets/math.py index f558379b..674f1b39 100644 --- a/opencompass/datasets/math.py +++ b/opencompass/datasets/math.py @@ -204,7 +204,11 @@ def math_postprocess_v2(text: str) -> str: @ICL_EVALUATORS.register_module() class MATHEvaluator(BaseEvaluator): - def __init__(self, version='v1'): + def __init__(self, + version='v1', + pred_postprocessor=None): # 可能需要接收父类__init__的参数 + super().__init__( + pred_postprocessor=pred_postprocessor) # 调用父类的__init__ assert version in ['v1', 'v2'] self.version = version diff --git a/opencompass/datasets/musr/musr.py b/opencompass/datasets/musr/musr.py index d15e6831..96b84edf 100644 --- a/opencompass/datasets/musr/musr.py +++ b/opencompass/datasets/musr/musr.py @@ -280,7 +280,11 @@ class MusrDataset(BaseDataset): @ICL_EVALUATORS.register_module() class MusrEvaluator(BaseEvaluator): - def __init__(self, answer_index_modifier=1, self_consistency_n=1): + def __init__(self, + answer_index_modifier=1, + self_consistency_n=1, + pred_postprocessor=None): + super().__init__(pred_postprocessor=pred_postprocessor) self.answer_index_modifier = answer_index_modifier self.self_consistency_n = self_consistency_n diff --git a/opencompass/openicl/icl_evaluator/icl_base_evaluator.py b/opencompass/openicl/icl_evaluator/icl_base_evaluator.py index dded48f9..40cdb6b3 100644 --- a/opencompass/openicl/icl_evaluator/icl_base_evaluator.py +++ b/opencompass/openicl/icl_evaluator/icl_base_evaluator.py @@ -93,7 +93,8 @@ class BaseEvaluator: return g_passk_details def pred_postprocess(self, predictions: List) -> Dict: - if self.pred_postprocessor is None: + if not hasattr( + self, 'pred_postprocessor') or self.pred_postprocessor is None: return predictions else: kwargs = deepcopy(self.pred_postprocessor)