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).