File size: 1,484 Bytes
fefd16c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40

import re

EVAL = "/workspace/rl4phyx/RL4Phyx/SFT/sft_eval_footprint"
ORIG = f"{EVAL}/eval_openended_inference.py"

# Read original
with open(ORIG) as f:
    content = f.read()

# Create phyx version: SFT model = phyx, SFT_GPUS = [0,1,2,3], BASE_GPUS = []
phyx = content
phyx = phyx.replace("sft_qwen25vl_3b_fullft/final", "sft_qwen25vl_3b_fullft_phyx/final")
phyx = phyx.replace("inference_results_sft.jsonl", "inference_results_phyx_v2.jsonl")
phyx = re.sub(r"BASE_GPUS\s*=\s*\[.*?\]", "BASE_GPUS = []", phyx)
phyx = re.sub(r"SFT_GPUS\s*=\s*\[.*?\]", "SFT_GPUS = [0, 1, 2, 3]", phyx)
with open(f"{EVAL}/eval_phyx_v2.py", "w") as f:
    f.write(phyx)
print("phyx_v2 created")

# Verify
for line in phyx.split("\n"):
    if any(k in line for k in ["BASE_GPUS", "SFT_GPUS", "SFT_MODEL", "OUTPUT_FILE"]):
        print(f"  {line.strip()}")

# Create phyx_50000 version: SFT model = phyx_50000, SFT_GPUS = [4,5,6,7], BASE_GPUS = []
p50k = content
p50k = p50k.replace("sft_qwen25vl_3b_fullft/final", "sft_qwen25vl_3b_fullft_phyx_50000/final")
p50k = p50k.replace("inference_results_sft.jsonl", "inference_results_phyx_50000_v2.jsonl")
p50k = re.sub(r"BASE_GPUS\s*=\s*\[.*?\]", "BASE_GPUS = []", p50k)
# SFT_GPUS stays [4, 5, 6, 7]
with open(f"{EVAL}/eval_phyx_50000_v2.py", "w") as f:
    f.write(p50k)
print("phyx_50000_v2 created")

for line in p50k.split("\n"):
    if any(k in line for k in ["BASE_GPUS", "SFT_GPUS", "SFT_MODEL", "OUTPUT_FILE"]):
        print(f"  {line.strip()}")