게시판바둑 on-policy 학습: 대국 로그를 KataGo 라벨로 바꾸기예제 소스

예제 소스

바둑 on-policy 학습: 대국 로그를 KataGo 라벨로 바꾸기 · 파일 169개

daemon_vlm_eval_day.py

#!/usr/bin/env python3
"""Double-fork daemon launcher for day-long VLM eval (macOS-safe)."""
from __future__ import annotations

import os
import sys
from pathlib import Path

ROOT = Path("~/project")
SCRIPT = ROOT / "scripts" / "run_vlm_eval_day.sh"
LOG = ROOT / "logs" / "vlm_eval_day" / "runner_outer.log"


def main() -> int:
    LOG.parent.mkdir(parents=True, exist_ok=True)
    if os.fork() > 0:
        return 0
    os.setsid()
    if os.fork() > 0:
        os._exit(0)
    os.chdir(ROOT)
    os.umask(0)
    # redirect stdio
    with open(LOG, "a", encoding="utf-8") as logf:
        os.dup2(logf.fileno(), 1)
        os.dup2(logf.fileno(), 2)
    devnull = os.open(os.devnull, os.O_RDONLY)
    os.dup2(devnull, 0)
    os.close(devnull)
    os.execv("/bin/bash", ["bash", str(SCRIPT)])
    return 1


if __name__ == "__main__":
    raise SystemExit(main())