mirror of
https://github.com/NicolasBohn/NexQuant.git
synced 2026-08-01 17:37:43 +00:00
e71d8f6c3c
* rebase selection code * bug-free run: checkpoint selection and dynamic EDA loading * add prototypes of various selectors, to imp. and test later * fix EDA write bug * imp SOTA-Jump policy * fix small bug * allow to set different selector by .env * add always-win selector * add init length for AlwaysWinCKPSelector * add back_jump selector * auto lint * add sota_exp_to_submit attribute; change the name of ckp_selector and sota-selector * fix bug * auto lint * working on auto sota selector * add subtrace counter * fix bug, remove unuse selector * add auto sota selector * auto lint * fix bug * fix small logic bug * add logging * add inject_diverse feat * auto lint * capable to None-select * feat: add hypothesis_gen config and ExpGen2TraceAndMerge functionality * refactor: use dynamic import for experiment generator instantiation * feat: add BestValidSelector for improved SOTA experiment selection * runnable twin-trace version * fix logic error of trace-merge * auto lint * use import_class to set selector, * auto-lint --------- Co-authored-by: Young <afe.young@gmail.com>
90 lines
2.9 KiB
Python
90 lines
2.9 KiB
Python
from typing import Literal
|
|
|
|
from pydantic_settings import SettingsConfigDict
|
|
|
|
from rdagent.app.kaggle.conf import KaggleBasePropSetting
|
|
|
|
|
|
class DataScienceBasePropSetting(KaggleBasePropSetting):
|
|
# TODO: Kaggle Setting should be the subclass of DataScience
|
|
model_config = SettingsConfigDict(env_prefix="DS_", protected_namespaces=())
|
|
|
|
# Main components
|
|
## Scen
|
|
scen: str = "rdagent.scenarios.data_science.scen.KaggleScen"
|
|
"""Scenario class for data mining model"""
|
|
|
|
hypothesis_gen: str = "rdagent.scenarios.data_science.proposal.exp_gen.DSExpGen"
|
|
"""Hypothesis generation class"""
|
|
|
|
## Workflow Related
|
|
consecutive_errors: int = 5
|
|
|
|
## Coding Related
|
|
coding_fail_reanalyze_threshold: int = 3
|
|
|
|
debug_timeout: int = 600
|
|
"""The timeout limit for running on debugging data"""
|
|
full_timeout: int = 3600
|
|
"""The timeout limit for running on full data"""
|
|
|
|
### specific feature
|
|
|
|
#### enable specification
|
|
spec_enabled: bool = True
|
|
|
|
#### proposal related
|
|
proposal_version: str = "v1"
|
|
coder_on_whole_pipeline: bool = False
|
|
max_trace_hist: int = 3
|
|
|
|
coder_max_loop: int = 10
|
|
runner_max_loop: int = 1
|
|
|
|
rule_base_eval: bool = False
|
|
sample_data: bool = True
|
|
use_raw_description: bool = False
|
|
|
|
#### model dump
|
|
enable_model_dump: bool = False
|
|
enable_doc_dev: bool = False
|
|
model_dump_check_level: Literal["medium", "high"] = "medium"
|
|
|
|
### selector related
|
|
|
|
#### checkpoint selector related
|
|
# selector_name: str = "latest"
|
|
selector_name: str = "rdagent.scenarios.data_science.proposal.exp_gen.ckp_select.LatestCKPSelector"
|
|
"""The name of the selector to use"""
|
|
sota_count_window: int = 5
|
|
"""The number of trials to consider for SOTA count"""
|
|
sota_count_threshold: int = 1
|
|
"""The threshold for SOTA count"""
|
|
|
|
#### SOTA experiment selector related
|
|
sota_exp_selector_name: str = "rdagent.scenarios.data_science.proposal.exp_gen.sota_exp_select.GlobalSOTASelector"
|
|
"""The name of the SOTA experiment selector to use"""
|
|
### knowledge base
|
|
enable_knowledge_base: bool = False
|
|
knowledge_base_version: str = "v1"
|
|
knowledge_base_path: str | None = None
|
|
idea_pool_json_path: str | None = None
|
|
|
|
### archive log folder after each loop
|
|
enable_log_archive: bool = True
|
|
log_archive_path: str | None = None
|
|
log_archive_temp_path: str | None = (
|
|
None # This is to store the mid tar file since writing the tar file is preferred in local storage then copy to target storage
|
|
)
|
|
|
|
#### Evaluation on Test related
|
|
eval_sub_dir: str = "eval" # TODO: fixme, this is not a good name
|
|
"""We'll use f"{DS_RD_SETTING.local_data_path}/{DS_RD_SETTING.eval_sub_dir}/{competition}"
|
|
to find the scriipt to evaluate the submission on test"""
|
|
|
|
### inject diverse
|
|
enable_inject_diverse: bool = False
|
|
|
|
|
|
DS_RD_SETTING = DataScienceBasePropSetting()
|