23f2002275 commited on
Commit
83021ff
·
1 Parent(s): bcf5fdb

fix: heredocs use initialize_config_dir absolute path (no caller file = relative breaks)

Browse files
Files changed (1) hide show
  1. scripts/job_train.sh +6 -4
scripts/job_train.sh CHANGED
@@ -45,11 +45,13 @@ python -m train.smoke_test --env-url http://localhost:8001
45
  grep -q "VERDICT: GO" outputs/smoke/SMOKE_RESULT.md || (cat outputs/smoke/SMOKE_RESULT.md; exit 1)
46
 
47
  # SFT (Path 3 — 0.5B sanity check; switch to qwen_1_5b for Path 1)
 
 
48
  python <<'PY'
49
- from hydra import initialize, compose
50
  from train.model_load import load_model_and_tokenizer
51
  from train.sft import run_sft
52
- with initialize(config_path="../configs", version_base="1.3"):
53
  cfg = compose(config_name="config", overrides=["model=qwen_0_5b_smoke","train=sft"])
54
  m, t = load_model_and_tokenizer(cfg)
55
  print("SFT adapter:", run_sft(cfg, m, t))
@@ -57,11 +59,11 @@ PY
57
 
58
  # GRPO 50 steps (Path 3 — 0.5B sanity check; switch to qwen_1_5b + max_steps=400 for Path 1)
59
  python <<'PY'
60
- from hydra import initialize, compose
61
  from train.model_load import load_model_and_tokenizer
62
  from train.grpo import run_grpo
63
  from rewards.compose import make_reward_fn
64
- with initialize(config_path="../configs", version_base="1.3"):
65
  cfg = compose(config_name="config", overrides=["model=qwen_0_5b_smoke","train=grpo","train.max_steps=50"])
66
  m, t = load_model_and_tokenizer(cfg)
67
  print("GRPO merged:", run_grpo(cfg, m, t, make_reward_fn(cfg.reward), "http://localhost:8001"))
 
45
  grep -q "VERDICT: GO" outputs/smoke/SMOKE_RESULT.md || (cat outputs/smoke/SMOKE_RESULT.md; exit 1)
46
 
47
  # SFT (Path 3 — 0.5B sanity check; switch to qwen_1_5b for Path 1)
48
+ # NOTE: use initialize_config_dir (absolute path) — heredocs have no caller file,
49
+ # so the relative `../configs` resolves against CWD and breaks. Absolute is robust.
50
  python <<'PY'
51
+ from hydra import initialize_config_dir, compose
52
  from train.model_load import load_model_and_tokenizer
53
  from train.sft import run_sft
54
+ with initialize_config_dir(config_dir="/w/configs", version_base="1.3"):
55
  cfg = compose(config_name="config", overrides=["model=qwen_0_5b_smoke","train=sft"])
56
  m, t = load_model_and_tokenizer(cfg)
57
  print("SFT adapter:", run_sft(cfg, m, t))
 
59
 
60
  # GRPO 50 steps (Path 3 — 0.5B sanity check; switch to qwen_1_5b + max_steps=400 for Path 1)
61
  python <<'PY'
62
+ from hydra import initialize_config_dir, compose
63
  from train.model_load import load_model_and_tokenizer
64
  from train.grpo import run_grpo
65
  from rewards.compose import make_reward_fn
66
+ with initialize_config_dir(config_dir="/w/configs", version_base="1.3"):
67
  cfg = compose(config_name="config", overrides=["model=qwen_0_5b_smoke","train=grpo","train.max_steps=50"])
68
  m, t = load_model_and_tokenizer(cfg)
69
  print("GRPO merged:", run_grpo(cfg, m, t, make_reward_fn(cfg.reward), "http://localhost:8001"))