costeer max loop as hyperp & skip workflow in eval (#737)

This commit is contained in:
Xu Yang
2025-04-02 00:18:42 -06:00
committed by GitHub
parent 1474478768
commit bc8e9dc23a
11 changed files with 69 additions and 13 deletions
@@ -211,7 +211,16 @@ class DataLoaderCoSTEER(CoSTEER):
) # Please specify whether you agree running your eva in parallel or not
es = DataLoaderMultiProcessEvolvingStrategy(scen=scen, settings=settings)
super().__init__(*args, settings=settings, eva=eva, es=es, evolving_version=2, scen=scen, **kwargs)
super().__init__(
*args,
settings=settings,
eva=eva,
es=es,
evolving_version=2,
scen=scen,
max_loop=DS_RD_SETTING.coder_max_loop,
**kwargs,
)
def develop(self, exp):
new_exp = super().develop(exp)
@@ -54,14 +54,14 @@ class DataLoaderCoSTEEREvaluator(CoSTEEREvaluator):
fname = "test/data_loader_test.py"
test_code = (DIRNAME / "eval_tests" / "data_loader_test.txt").read_text()
implementation.inject_files(**{fname: test_code})
stdout = implementation.execute(env=env, entry=f"python {fname}")
stdout, ret_code = implementation.execute_ret_code(env=env, entry=f"python {fname}")
match = re.search(r"(.*?)=== Start of EDA part ===(.*)=== End of EDA part ===(.*)", stdout, re.DOTALL)
stdout_part_1, eda_output, stdout_part_2 = match.groups() if match else (stdout, None, "")
stdout = stdout_part_1 + stdout_part_2
if eda_output is not None and len(eda_output.split(" ")) > 10000:
eda_output += "Length of EDA output is too long, truncated. Please reject this implementation and motivate it to reduce the length of EDA output."
if "main.py" in implementation.file_dict:
if "main.py" in implementation.file_dict and ret_code == 0:
workflow_stdout = implementation.execute(env=env, entry="python main.py")
workflow_stdout = re.sub(r"=== Start of EDA part ===(.*)=== End of EDA part ===", "", workflow_stdout)
else: