mirror of
https://github.com/NicolasBohn/NexQuant.git
synced 2026-07-27 23:47:46 +00:00
d1019cb568
* fix model input shape bug and costeer_model bug * fix a bug * fix a bug in docker result extraction * a system-level optimization * add a filter of stdout * update * add stdout to model * model training_hyperparameters update * quant scenario * update some quant settings * llm choose action * Thompson Sampling Bandit for action choosing * refine both scens * add trace messages for quant scen * fix some bugs * fix some bugs * update * update * update * fix * fix * fix * update for merge * fix ci * fix some bugs * fix ci * fix ci * fix ci * fix ci * refactor * default qlib4rdagent local env downloading * fix ci * fix ci * fix a bug * fix ci * fix: align all prompts on template (#908) * use template to render all prompts * fix CI --------- Co-authored-by: Xu Yang <xuyang1@microsoft.com> * add fin_quant in cli * fix a bug * fix ci * fix some bugs * refactor * remove the columns in hypothesis if no value generated in this column * fix a bug * fix ci * fix conda env * add qlib gitignore * remove existed qlib folder & install torch in qlib conda * fix workspace ui in feedback * align model config in coder and runner in docker or conda * fix CI * fix CI --------- Co-authored-by: Xu Yang <peteryang@vip.qq.com> Co-authored-by: Xu Yang <xuyang1@microsoft.com>
27 lines
1.1 KiB
Python
27 lines
1.1 KiB
Python
from rdagent.components.runner import CachedRunner
|
|
from rdagent.core.exception import ModelEmptyError
|
|
from rdagent.core.utils import cache_with_pickle
|
|
from rdagent.log import rdagent_logger as logger
|
|
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)
|
|
def develop(self, exp: DMModelExperiment) -> DMModelExperiment:
|
|
if exp.sub_workspace_list[0].file_dict.get("model.py") is None:
|
|
raise ModelEmptyError("model.py is empty")
|
|
# to replace & inject code
|
|
exp.experiment_workspace.inject_files(**{"model.py": exp.sub_workspace_list[0].file_dict["model.py"]})
|
|
|
|
env_to_use = {"PYTHONPATH": "./"}
|
|
|
|
result, stdout = exp.experiment_workspace.execute(run_env=env_to_use)
|
|
|
|
if result is None:
|
|
logger.error(f"Experiment failed to run, stdout: {stdout}")
|
|
raise ModelEmptyError(f"Failed to run this experiment, because {stdout}")
|
|
|
|
exp.result = result
|
|
|
|
return exp
|