feat(harness): add Action Recognition training experiment
- PerCategoryPoolStrategy: filter test pool by task_types - RunConfig: add run_holdout_eval toggle (default true) - load_config: fix YAML task_types list-to-tuple conversion - Runner: conditionally skip _holdout_four_way when disabled - CLI: add --no-run-holdout-eval flag - New config/train_action_recognition.yaml (3 epochs, per_category) - New scripts/train_action_recognition.sh (baseline + seed + train)
This commit is contained in:
@@ -203,6 +203,11 @@ def _build_parser() -> argparse.ArgumentParser:
|
||||
)
|
||||
parser.add_argument("--train-ratio", type=float, dest="train_ratio")
|
||||
parser.add_argument("--test-questions", type=str, dest="test_questions")
|
||||
parser.add_argument(
|
||||
"--no-run-holdout-eval",
|
||||
action="store_true",
|
||||
dest="no_run_holdout_eval",
|
||||
)
|
||||
return parser
|
||||
|
||||
|
||||
@@ -267,6 +272,9 @@ def main() -> None:
|
||||
if cli_args.get("task_types") is not None:
|
||||
cli_args["task_types"] = tuple(cli_args["task_types"])
|
||||
cli_overrides = {k: v for k, v in cli_args.items() if k != "config"}
|
||||
if cli_overrides.get("no_run_holdout_eval"):
|
||||
cli_overrides["run_holdout_eval"] = False
|
||||
cli_overrides.pop("no_run_holdout_eval", None)
|
||||
config = load_config(args.config, cli_overrides)
|
||||
logger.info("配置加载完成: mode={}, workspace={}", config.mode, config.workspace_dir)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user