ctm-dqn/run_all_training.py

25 lines
760 B
Python

"""一键异步启动全部训练"""
import subprocess
import sys
from datetime import datetime
AGENTS = ["ppo", "appo", "mappo", "dqn", "ddpg", "td3"]
processes = {}
for agent in AGENTS:
print(f"[{datetime.now().strftime('%H:%M:%S')}] 启动 {agent.upper()} 训练...")
p = subprocess.Popen(
[sys.executable, "-m", f"training.train_{agent}"],
stdout=open(f"logs_{agent}_stdout.txt", "w"),
stderr=subprocess.STDOUT,
)
processes[agent] = p
print(f" PID: {p.pid}")
print(f"\n全部 {len(AGENTS)} 个训练已启动,等待完成...\n")
for agent, p in processes.items():
p.wait()
status = "✓ 完成" if p.returncode == 0 else f"✗ 失败(code={p.returncode})"
print(f"[{agent.upper()}] {status}")