diff --git a/rdagent/components/benchmark/eval_method.py b/rdagent/components/benchmark/eval_method.py index c94a0e3e4..3bf998b6d 100644 --- a/rdagent/components/benchmark/eval_method.py +++ b/rdagent/components/benchmark/eval_method.py @@ -104,7 +104,7 @@ def eval_case( try: eval_res.append((ev, ev.evaluate(implementation=case_gen, gt_implementation=case_gt))) # if the corr ev is successfully evaluated and achieve the best performance, then break - except CoderError as e: + except (CoderError, AttributeError) as e: return e except Exception as e: # exception when evaluation diff --git a/rdagent/scenarios/qlib/factor_experiment_loader/json_loader.py b/rdagent/scenarios/qlib/factor_experiment_loader/json_loader.py index 5f080f80e..5e04a0d4b 100644 --- a/rdagent/scenarios/qlib/factor_experiment_loader/json_loader.py +++ b/rdagent/scenarios/qlib/factor_experiment_loader/json_loader.py @@ -55,10 +55,9 @@ def load(self, json_file_path: Path) -> list: factor_formulation=factor_data["formulation"], variables=factor_data["variables"], ) - gt = FactorFBWorkspace(task) + gt = FactorFBWorkspace(task, raise_exception=True) code = {"factor.py": factor_data["gt_code"]} gt.inject_code(**code) - gt.execute() TestData.target_task.sub_tasks.append(task) TestData.ground_truth.append(gt)