erickfm commited on
Commit
a6b0487
·
verified ·
1 Parent(s): 742c109

Upload README.md with huggingface_hub

Browse files
Files changed (1) hide show
  1. README.md +76 -0
README.md ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: mit
3
+ tags:
4
+ - melee
5
+ - smash-bros
6
+ - imitation-learning
7
+ - game-ai
8
+ - pytorch
9
+ pretty_name: "MIMIC: Melee Imitation Model for Input Cloning"
10
+ ---
11
+
12
+ # MIMIC Checkpoints (No Opponent Inputs)
13
+
14
+ Trained model checkpoints from the [MIMIC](https://github.com/erickfm/MIMIC) project — an imitation-learning bot that predicts human controller inputs from game state in Super Smash Bros. Melee.
15
+
16
+ These checkpoints are from the **Phase 4: No Opponent Inputs** sweep, which removes opponent controller inputs (buttons, analog, c-stick) from the model's feature space to eliminate train-test distribution mismatch when playing against CPUs.
17
+
18
+ Trained on [erickfm/frame-melee](https://huggingface.co/datasets/erickfm/frame-melee) (~95k tournament replays).
19
+
20
+ ## Model Details
21
+
22
+ | Setting | Value |
23
+ |---------|-------|
24
+ | Architecture | Transformer encoder (768d, 4 layers, hybrid16 frame encoder) |
25
+ | Parameters | ~32M |
26
+ | Positional encoding | Learned |
27
+ | Stick loss | MSE |
28
+ | Button loss | BCE |
29
+ | Feature | `--no-opp-inputs` (opponent controller inputs removed) |
30
+
31
+ ## Checkpoints
32
+
33
+ Files in `checkpoints/no-opp-inputs/`:
34
+
35
+ | File | Context | Steps | Best val/total |
36
+ |------|---------|-------|---------------|
37
+ | `noi_ctx60_65k_machA.pt` | 60 frames | 65K | ~0.07 |
38
+ | `noi_ctx60_80k_machA.pt` | 60 frames | 80K | ~0.07 |
39
+ | `noi_ctx60_80k_machB.pt` | 60 frames | 80K | ~0.07 |
40
+ | `noi_ctx60_120k_machB.pt` | 60 frames | 120K | ~0.07 |
41
+ | `noi_ctx180_65k_machB.pt` | 180 frames | 65K | ~0.05-0.07 |
42
+ | `noi_ctx180_65k_machC.pt` | 180 frames | 65K | ~0.05-0.07 |
43
+ | `noi_ctx180_80k_machC.pt` | 180 frames | 80K | ~0.08 |
44
+ | `noi_ctx180_120k_machC.pt` | 180 frames | 120K | ~0.08 |
45
+
46
+ Note: Multiple runs wrote to the same checkpoint directory, so each file is from whichever seed finished last at that step count.
47
+
48
+ ## Loading
49
+
50
+ ```python
51
+ import torch
52
+ from model import FramePredictor, ModelConfig
53
+
54
+ ckpt = torch.load("checkpoint.pt", map_location="cpu")
55
+ cfg = ModelConfig(**ckpt["config"])
56
+ model = FramePredictor(cfg)
57
+ model.load_state_dict(ckpt["model_state_dict"])
58
+ model.eval()
59
+
60
+ # Normalization stats for inference
61
+ norm_stats = ckpt["norm_stats"]
62
+ ```
63
+
64
+ ## Earlier Checkpoints
65
+
66
+ Phase 1-3 checkpoints (with opponent inputs): [erickfm/frame-checkpoints](https://huggingface.co/erickfm/frame-checkpoints)
67
+
68
+ ## Related
69
+
70
+ - [MIMIC](https://github.com/erickfm/MIMIC) — Training and inference code
71
+ - [erickfm/frame-melee](https://huggingface.co/datasets/erickfm/frame-melee) — Full training dataset (~95k replays, 86 GB)
72
+ - [erickfm/frame-melee-subset](https://huggingface.co/datasets/erickfm/frame-melee-subset) — 1k replay subset for quick experiments
73
+
74
+ ## License
75
+
76
+ MIT