This commit is contained in:
hailin 2025-09-09 09:52:30 +08:00
parent 4d896e6d2b
commit b130f9e682
1 changed files with 30 additions and 14 deletions

View File

@ -2,23 +2,39 @@ export WB_ENTITY=hailin
export WANDB_BASE_URL=https://wandb.szaiai.com
export WANDB_API_KEY=local-701636f51b4741d3862007df5cf7f12cca53d8d1
export WANDB_PROJECT=ds-qwen3
export WANDB_GROUP=q3-32b-ds4-2025-09-04
export WANDB_GROUP=q3-32b-ds4-2025-09-04 # 如果训练时没用 WANDB_RUN_GROUP这里只是“期望值”
export MATCH_NAME_REGEX='q3-32b-ds4($|/|-)' # 回退方案:按名字匹配
python3 - <<'PY'
import os, wandb, sys
import os, re, wandb
api = wandb.Api(overrides={"base_url": os.environ["WANDB_BASE_URL"]})
path = f'{os.environ["WB_ENTITY"]}/{os.environ["WANDB_PROJECT"]}'
group = os.environ["WANDB_GROUP"]
group = os.environ.get("WANDB_GROUP","").strip()
name_pat = os.environ.get("MATCH_NAME_REGEX","").strip()
name_rx = re.compile(name_pat) if name_pat else None
runs = api.runs(path=path, filters={"group": group})
cnt = 0
for r in runs:
print("Deleting:", r.name, r.id)
runs = list(api.runs(path=path))
cand = []
# 1) 优先按 group
if group:
cand = [r for r in runs if (getattr(r, "group", None) == group)]
# 2) 回退:按名字正则
if not cand and name_rx:
cand = [r for r in runs if (r.name and name_rx.search(r.name))]
print(f"Matched {len(cand)} runs to delete:")
for r in cand:
print(" -", r.id, r.name, "group=", getattr(r, "group", None))
# 安全起见:把下面的 True 改成 False 可以先 dry-run
DO_DELETE = True
if DO_DELETE:
for r in cand:
try:
r.delete(delete_artifacts=True)
except TypeError:
# 旧版本没有 delete_artifacts 参数
r.delete()
cnt += 1
print(f"Deleted {cnt} runs in group '{group}'.")
print("Done.")
PY