"""一键异步启动全部训练""" 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}")