Files
NexQuant/rdagent/scenarios/data_mining/developer/model_runner.py
T

22 lines
884 B
Python
Raw Normal View History

2024-07-24 16:56:27 +08:00
from rdagent.components.runner import CachedRunner
from rdagent.core.exception import ModelEmptyError
from rdagent.core.utils import cache_with_pickle
2024-07-24 16:56:27 +08:00
from rdagent.scenarios.data_mining.experiment.model_experiment import DMModelExperiment
class DMModelRunner(CachedRunner[DMModelExperiment]):
@cache_with_pickle(CachedRunner.get_cache_key, CachedRunner.assign_cached_result)
2024-07-24 16:56:27 +08:00
def develop(self, exp: DMModelExperiment) -> DMModelExperiment:
if exp.sub_workspace_list[0].code_dict.get("model.py") is None:
raise ModelEmptyError("model.py is empty")
# to replace & inject code
exp.experiment_workspace.inject_code(**{"model.py": exp.sub_workspace_list[0].code_dict["model.py"]})
env_to_use = {"PYTHONPATH": "./"}
result = exp.experiment_workspace.execute(run_env=env_to_use)
exp.result = result
return exp