From 86e05e6d3591d627a5b44c3dfcca8c8700718984 Mon Sep 17 00:00:00 2001 From: Yuante Li <104308117+WinstonLiyt@users.noreply.github.com> Date: Thu, 24 Apr 2025 19:02:38 +0800 Subject: [PATCH] fix: fix a bug in docker result extraction (#824) * fix a bug in docker result extraction --- .../qlib/experiment/factor_template/read_exp_res.py | 11 +++++++++-- .../qlib/experiment/model_template/read_exp_res.py | 11 +++++++++-- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/rdagent/scenarios/qlib/experiment/factor_template/read_exp_res.py b/rdagent/scenarios/qlib/experiment/factor_template/read_exp_res.py index 928cc645..8c3df2ef 100644 --- a/rdagent/scenarios/qlib/experiment/factor_template/read_exp_res.py +++ b/rdagent/scenarios/qlib/experiment/factor_template/read_exp_res.py @@ -27,8 +27,15 @@ for experiment in experiments: experiment_name = experiment recorder = R.get_recorder(recorder_id=recorder_id, experiment_name=experiment) end_time = recorder.info["end_time"] - if latest_recorder is None or end_time > latest_recorder.info["end_time"]: - latest_recorder = recorder + try: + # Check if the recorder has a valid end time + if end_time is not None: + if latest_recorder is None or end_time > latest_recorder.info["end_time"]: + latest_recorder = recorder + else: + print(f"Warning: Recorder {recorder_id} has no valid end time") + except Exception as e: + print(f"Error: {e}") # Check if the latest recorder is found if latest_recorder is None: diff --git a/rdagent/scenarios/qlib/experiment/model_template/read_exp_res.py b/rdagent/scenarios/qlib/experiment/model_template/read_exp_res.py index 928cc645..8c3df2ef 100644 --- a/rdagent/scenarios/qlib/experiment/model_template/read_exp_res.py +++ b/rdagent/scenarios/qlib/experiment/model_template/read_exp_res.py @@ -27,8 +27,15 @@ for experiment in experiments: experiment_name = experiment recorder = R.get_recorder(recorder_id=recorder_id, experiment_name=experiment) end_time = recorder.info["end_time"] - if latest_recorder is None or end_time > latest_recorder.info["end_time"]: - latest_recorder = recorder + try: + # Check if the recorder has a valid end time + if end_time is not None: + if latest_recorder is None or end_time > latest_recorder.info["end_time"]: + latest_recorder = recorder + else: + print(f"Warning: Recorder {recorder_id} has no valid end time") + except Exception as e: + print(f"Error: {e}") # Check if the latest recorder is found if latest_recorder is None: