diff --git a/opencompass/openicl/icl_evaluator/icl_base_evaluator.py b/opencompass/openicl/icl_evaluator/icl_base_evaluator.py index 794c0ed6..ca43fdb6 100644 --- a/opencompass/openicl/icl_evaluator/icl_base_evaluator.py +++ b/opencompass/openicl/icl_evaluator/icl_base_evaluator.py @@ -158,9 +158,10 @@ class BaseEvaluator: can_calculate = True c += int(example['detail']['is_correct']) - if can_calculate and n > 1 and k > 1: + k_list = [k] if isinstance(k, int) else k + if can_calculate and n > 1 and max(k_list) > 1: thresholds = [0.0, 0.25, 0.5, 0.75, 1.0] - for _k in [k] if isinstance(k, int) else k: + for _k in k_list: for threshold in thresholds: g_pass = compute_g_pass_at_k(n=n, c=c,