Add model card
Browse files
README.md
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
library_name: pytorch
|
| 3 |
+
tags:
|
| 4 |
+
- world-model
|
| 5 |
+
- tokenizer
|
| 6 |
+
- autoencoder
|
| 7 |
+
- dinov3
|
| 8 |
+
- counter-strike
|
| 9 |
+
- opencs2
|
| 10 |
+
---
|
| 11 |
+
|
| 12 |
+
# CS2 RAE — DINOv3 representation autoencoder tokenizer (d32, 128px)
|
| 13 |
+
|
| 14 |
+
Frozen latent tokenizer for the [OpenCS2 world model](https://github.com/julien-blanchon/world-model).
|
| 15 |
+
It turns each `128×128` game frame into a tiny `32×8×8` latent (a `8×8 = 64`-token grid),
|
| 16 |
+
and the world model lives entirely in that latent space.
|
| 17 |
+
|
| 18 |
+
- **Architecture:** DINOv3-based representation autoencoder (RAE) with a learned bridge and a
|
| 19 |
+
subpixel decoder (1 conv + PixelShuffle), trained natively at 128px.
|
| 20 |
+
- **Latent:** `32×8×8` (`latent_channels=32`, `latent_size=8`) — 192× spatial compression.
|
| 21 |
+
- **Training:** full 3-stage recipe (stage1 → stage2 → stage3) with LPIPS + late GAN; seam-free
|
| 22 |
+
subpixel decoder. This is the **stage-3 final** checkpoint and the default tokenizer for the
|
| 23 |
+
world model (`runs/rae/full_d32_128/stage3.pt`).
|
| 24 |
+
|
| 25 |
+
## Files
|
| 26 |
+
|
| 27 |
+
| File | Description |
|
| 28 |
+
|---|---|
|
| 29 |
+
| `stage3.pt` | Stage-3 final RAE weights (encoder + bridge + decoder). |
|
| 30 |
+
|
| 31 |
+
## Usage
|
| 32 |
+
|
| 33 |
+
Load with the [`world-model`](https://github.com/julien-blanchon/world-model) codebase
|
| 34 |
+
(`RAEConfig` with `latent_channels=32`). The world model consumes this tokenizer frozen.
|
| 35 |
+
|
| 36 |
+
> Internal research checkpoint. Provided as-is, no warranty.
|