| """ |
| MVM² Benchmark Runner |
| Unified script to run evaluations on integrated research benchmarks. |
| """ |
| import os |
| import sys |
| sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) |
| import argparse |
| import subprocess |
|
|
| def run_mathverse(limit=None): |
| """Run MathVerse evaluation""" |
| print("\n" + "="*50) |
| print("[START] MathVerse Benchmark (ECCV 2024)") |
| print("="*50) |
| |
| script_path = os.path.join(os.path.dirname(__file__), "evaluate_mathverse.py") |
| cmd = [sys.executable, script_path] |
| if limit: |
| cmd.extend(["--limit", str(limit)]) |
| |
| subprocess.run(cmd) |
|
|
| def run_mathv(limit=None): |
| """Run MATH-V evaluation""" |
| print("\n" + "="*50) |
| print("[START] MATH-V Benchmark (NeurIPS 2024)") |
| print("="*50) |
| |
| script_path = os.path.join(os.path.dirname(__file__), "evaluate_mathv.py") |
| cmd = [sys.executable, script_path] |
| if limit: |
| cmd.extend(["--limit", str(limit)]) |
| |
| subprocess.run(cmd) |
|
|
| def main(): |
| parser = argparse.ArgumentParser(description="Run MVM2 Research Benchmarks") |
| parser.add_argument('benchmark', choices=['mathverse', 'mathv', 'all'], |
| help="Benchmark to run") |
| parser.add_argument('--limit', type=int, default=None, |
| help="Limit number of samples (for testing)") |
| |
| args = parser.parse_args() |
| |
| |
| try: |
| import datasets |
| except ImportError: |
| print("[ERROR] Missing dependency: 'datasets'") |
| print("Please run: pip install datasets") |
| return |
|
|
| if args.benchmark in ['mathverse', 'all']: |
| run_mathverse(args.limit) |
| |
| if args.benchmark in ['mathv', 'all']: |
| run_mathv(args.limit) |
|
|
| if __name__ == "__main__": |
| main() |
|
|