HAPPO-HATRPO — Scalable-Deployment Checkpoints
Trained model checkpoints for the Inter-Class Actor-Critic scalable-deployment research (change agent count at deployment without retraining). Code: https://github.com/QuiZet/HAPPO-HATRPO
Contents
checkpoints/<map>/happo/gnn/<seed>/run*/models/ — for each agent class (unit type):
actor_class_<id>.pt— count-invariant GNN/attention actor + entity-keyed action head (deployable)critic_class_<id>.pt— GNN class-factored central critic (CTDE, training-only)*_optimizer_*.pt— optimizer states (for resuming)metadata.json— config (map, classes, hidden_size, …)
Maps: 2s3z (Stalker+Zealot, 5 agents) and 3s5z (8 agents) — same unit classes, different team sizes.
results_scaling.csv — zero-shot transfer win rates (in-dist / scale-up / scale-down / MLP baseline).
Status (research snapshot)
- 2s3z GNN policy ≈ 0.81 win (deployable scale-up source).
- Transfer mechanism verified: actor weights load fully across team sizes; zero-shot scale-down 3s5z→2s3z ≈ 0.39; MLP baseline = 0 (broken on transfer).
- 3s5z was under-trained at this snapshot (~0.1) and a longer, tuned run was in progress — expect improved 3s5z checkpoints later.
Use
# See scripts/deploy_eval.py in the code repo for the full deployment/eval pipeline.
import torch
sd = torch.load("checkpoints/2s3z/happo/gnn/1/run1/models/actor_class_3.pt", map_location="cpu")
Because the actor's weights are agent-count-invariant, a 2s3z actor load_state_dicts directly
into a 3s5z-instantiated actor (same per-entity weight shapes).