File size: 2,903 Bytes
beda442
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
---
library_name: transformers
pipeline_tag: robotics
base_model:
- openbmb/MiniCPM-RobotTrack
---

This is a randomly initialized tiny model based on [openbmb/MiniCPM-RobotTrack](https://huggingface.co/openbmb/MiniCPM-RobotTrack) for testing and debugging.

| Feature | Source | This repo |
|---|---|---|
| Checkpoint tensor elements | 465.65M BF16, 1.13M F32 | 2.39M BF16, 75.13K F32 |
| Safetensors weight files | 931.43 MB (model.safetensors) | 5.09 MB (model.safetensors) |
| Backbone layers / width / heads | 24 / 1024 / 16 | 4 / 32 / 1 |
| Backbone MLP / KV heads | 4096 / 2 | 64 / 1 |
| Trajectory funnel linear stages | 6 | 6 |
| External visual feature dimension | 1536 | Same |
| History / coarse tokens / current fine tokens | 31 / 4 per frame / 64 | Same |
| Waypoints / action dimensions | 8 / [x, y, yaw] | Same |
| Text vocabulary rows | 73448 | Same |
| Stored backbone precision | BF16 | Same |
| Input / output | Instruction, DINOv3+SigLIP tokens → trajectory | Same |

RobotTrack accepts fused DINOv3 and SigLIP features, not raw pixels. The source checkpoint does not include those visual encoders; the example validates both required feature streams directly.

| File path | Size |
|------|------|
| model.safetensors | 5.1MB |

### Example usage

#### Transformers (✅ verified)

```python
def run_transformers(model_id: str):
    import torch
    from transformers import AutoModel, AutoTokenizer

    model = AutoModel.from_pretrained(model_id, trust_remote_code=True, dtype=torch.bfloat16).eval().cuda()
    tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
    if tokenizer.pad_token_id is None:
        tokenizer.pad_token = tokenizer.eos_token
    text = tokenizer("Follow the person in the blue shirt.", return_tensors="pt")
    coarse = torch.zeros(1, 31 * 4, 1536, device=model.device)
    coarse_time = torch.arange(31, device=model.device).repeat_interleave(4).unsqueeze(0)
    fine = torch.zeros(1, 64, 1536, device=model.device)
    fine_time = torch.full((1, 64), 31, dtype=torch.long, device=model.device)
    output = model(
        input_ids=text.input_ids.to(model.device),
        attention_mask=text.attention_mask.to(model.device),
        coarse_tokens=coarse,
        coarse_time_indices=coarse_time,
        fine_tokens=fine,
        fine_time_indices=fine_time,
    )
    assert output.trajectories.shape == (1, 8, 3)
    assert torch.isfinite(output.trajectories).all()
    print(output.trajectories.shape)


if __name__ == "__main__":
    run_transformers(model_id="tiny-random/minicpm-robot-track")
```

### Creating this repo

- Code: [.meta/create_model.py](.meta/create_model.py)
- Model structure: [.meta/model.log](.meta/model.log)
- Environment: [.meta/env.json](.meta/env.json)

### Change log

- 2026-10-27: Created a tiny MiniCPM RobotTrack visual-token trajectory policy.

*This repo is generated by GPT-6.1-Sol.*