| import argparse | |
| import os | |
| from matharena.runner import run | |
| from matharena.grader import run_grader | |
| import yaml | |
| from loguru import logger | |
| parser = argparse.ArgumentParser() | |
| parser.add_argument("--n", type=int, default=4) | |
| parser.add_argument("--configs", type=str, nargs="+", required=True) | |
| parser.add_argument("--skip_existing", action="store_true") | |
| parser.add_argument("--comp", type=str, required=True) | |
| parser.add_argument("--output-folder", type=str, default="outputs") | |
| parser.add_argument("--grading-folder", type=str, default="autogradings") | |
| parser.add_argument("--configs-folder", type=str, default="configs") | |
| parser.add_argument("--graded_config", type=str, nargs="+", default=None) | |
| args = parser.parse_args() | |
| for config_path in args.configs: | |
| with open(f"{args.configs_folder}/{config_path}", 'r') as f: | |
| model_config = yaml.safe_load(f) | |
| model_config["n"] = model_config.get("n", args.n) | |
| logger.info(f"Running config: {config_path}") | |
| run(model_config, config_path, args.comp, skip_existing=args.skip_existing, | |
| output_folder=args.output_folder) |