eval_interval 触发 eval。eval_envs,不污染训练状态。eval_deterministic=True)或随机策略。env_reset_mode,eval 用 eval_reset_mode。jitter,eval 用 full_random 测试泛化。actor_eval_latest.pt。actor_eval_best.pt:actor_ep*.pt)。| 指标 | 含义 |
|---|---|
success |
任务全部完成且没有死亡 agent 的 episode 比例 |
episode_reward |
每 episode 平均总奖励 |
episode_length |
每 episode 平均步数 |
task_completion_ratio |
完成任务数 / 总任务数 |
sent_percentage |
实际送达物资 / 目标物资量 |
dead_agents |
每 episode 死亡 agent 数 |
coalition_changes |
联盟切换次数 |
premature_no_explorer_ratio |
过早失去探索者的比例 |
此外还记录 9 个奖励分量(reward_switch_coalition、reward_dead、reward_discover 等)用于诊断。
| 参数 | 说明 | 典型值 |
|---|---|---|
use_eval |
是否开启训练内 eval | True |
eval_interval |
每隔多少 env episode 触发一次 eval | 25 / 50 / 100 |
eval_episodes |
每次 eval 跑多少个 episode | 32 / 64 |
eval_seed |
eval 环境固定种子,保证可复现 | 10000 |
eval_deterministic |
eval 时是否用贪婪策略 | True |
env_reset_mode |
训练环境重置模式 | jitter / full_random |
eval_reset_mode
| eval 环境重置模式,可与训练不同 | full_random |
关键文件:
runs/.../eval/step_*.csv:每次 eval 的 per-scenario 结果runs/.../eval/step_*.json:每次 eval 的汇总统计runs/.../models/actor_eval_best.pt:历史最佳模型runs/.../models/eval_best.json:最佳模型元数据