Views
No views yet
kaggle_environments cabt engine.h.o_i and scored against h (plus a summary of
the options already picked this decision), giving a softmax over the
variable-length option list.minCount picks are made, and
ends the sequence when chosen. A decision's log-prob is the sum of its picks'.| File | What it is |
|---|---|
policy.npz | numpy export of the 02_dragapult net — torch-free inference |
02_dragapult/ppo_latest.pt | PPO checkpoint, 10,000 iterations (default agent) |
01_psychic/ppo_latest.pt | PPO checkpoint, 1,000 iterations |
00_basic/ppo_latest.pt | PPO checkpoint, 200 iterations |
00_basic/exit_latest.pt | expert-iteration (IS-MCTS distillation) checkpoint |
*/deck.csv | the 60-card deck each agent was trained on |
*/ppo_train.csv | per-iteration training metrics |
policy.npz exists because the Kaggle submission bundle has a ~197 MiB cap and
torch does not fit. pkm/rl/numpy_policy.py replays the same forward pass in
numpy, so the shipped agent runs on numpy alone.deck.csv is in each directory.| Agent | Iterations | Eval win rate | Games |
|---|---|---|---|
02_dragapult | 10,000 | 100% | 20 |
01_psychic | 1,000 | 95% | 20 |
00_basic | 200 | ~80% (as documented in-repo) | — |
1from huggingface_hub import hf_hub_download
2
3npz = hf_hub_download("TomatoCream/pkm-cabt-ppo", "policy.npz")
4ckpt = hf_hub_download("TomatoCream/pkm-cabt-ppo", "02_dragapult/ppo_latest.pt")
5deck = hf_hub_download("TomatoCream/pkm-cabt-ppo", "02_dragapult/deck.csv")1import torch
2from pkm.rl.model import PolicyValueNet
3
4model = PolicyValueNet()
5model.load_state_dict(torch.load(ckpt, map_location="cpu", weights_only=True))
6model.eval()pkm/rl/numpy_policy.py against policy.npz.00_basic additionally has an
expert-iteration checkpoint: IS-MCTS with determinization (for imperfect
information) generates targets, which are distilled back into the network.1just train 200 16 deck/01_psychic.csv # PPO self-play
2just exit-train # expert iteration
3just export # -> policy.npzcabt engine's observation schema; the encoder assumes it.