强化学习第一版
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
"""从 Tee 输出的 CLI 文本中提取末尾 JSON,落盘为 summary.json。
|
||||
|
||||
官方演练目录由 run 命令产生 cli-output.txt(前面可能有 CUDA 警告),
|
||||
本脚本只提取最后一个完整 JSON 对象,并核对 adjacent 的官方 result.json。
|
||||
"""
|
||||
import argparse
|
||||
import json
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
def extract(text: str) -> dict:
|
||||
start = text.rfind("\n{")
|
||||
if start < 0:
|
||||
raise ValueError("未找到 JSON 对象")
|
||||
return json.loads(text[start + 1:])
|
||||
|
||||
|
||||
def main() -> int:
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("folder", type=Path)
|
||||
args = parser.parse_args()
|
||||
folder = args.folder
|
||||
summary = extract((folder / "cli-output.txt").read_text(encoding="utf-8"))
|
||||
(folder / "summary.json").write_text(
|
||||
json.dumps(summary, ensure_ascii=False, indent=2) + "\n", encoding="utf-8")
|
||||
print(json.dumps({
|
||||
"folder": str(folder), "completed": summary["completed"],
|
||||
"virtual_time_s": summary["virtual_time_s"],
|
||||
"cleared_channels": summary["cleared_channels"],
|
||||
"total_requests": summary["total_requests"],
|
||||
}, ensure_ascii=False))
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
raise SystemExit(main())
|
||||
Reference in New Issue
Block a user