Haongchen commited on
Commit
8cda58d
·
verified ·
1 Parent(s): 3b27f9a

Restore Model Card with exact runtime config paths

Browse files
Files changed (1) hide show
  1. README.md +156 -0
README.md CHANGED
@@ -0,0 +1,156 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ library_name: memoryvla
3
+ tags:
4
+ - robotics
5
+ - vision-language-action
6
+ - memory
7
+ - action-diffusion
8
+ - piper
9
+ pipeline_tag: robotics
10
+ license: apache-2.0
11
+ ---
12
+
13
+ # MemoryVLA
14
+
15
+ MemoryVLA checkpoint for real-robot action prediction. This repository is
16
+ organized so that additional real-world task checkpoints can be added under
17
+ `checkpoints/<task-name>/` without replacing the current model.
18
+
19
+ ## Latest checkpoint
20
+
21
+ The current default checkpoint is:
22
+
23
+ ```text
24
+ checkpoints/piper-color-sorting/frozen-ema-step-20000.pt
25
+ ```
26
+
27
+ It is the EMA action-diffusion checkpoint from the Frozen+EMA training run.
28
+ The matching action normalization statistics are stored at:
29
+
30
+ ```text
31
+ configs/piper-color-sorting/dataset_statistics.json
32
+ ```
33
+
34
+ The exact runtime configuration for this run is stored at:
35
+
36
+ ```text
37
+ configs/piper-color-sorting/config.yaml
38
+ configs/piper-color-sorting/config.json
39
+ ```
40
+
41
+ The checkpoint is intended to be loaded with the MemoryVLA codebase and
42
+ `use_ema=True`. The model uses the `custom_finetuning` normalization key.
43
+
44
+ ## Training configuration
45
+
46
+ - Task: Piper color sorting
47
+ - Data: 21 valid real-world episodes, 14,300 frames
48
+ - Observation: front camera only in this dataset; no wrist-camera stream was
49
+ available in the training data
50
+ - Base VLM: `prism-dinosiglip-224px+7b`
51
+ - Vision backbone: frozen
52
+ - LLM backbone: frozen
53
+ - Last LLM layer: frozen
54
+ - Trainable components: action diffusion model and MemoryVLA trainable
55
+ modules
56
+ - Action dimension: 7 (`x, y, z, roll, pitch, yaw, gripper`)
57
+ - Action model: `DiT-L`
58
+ - Future action window: 15
59
+ - Memory length: 256
60
+ - Retrieval layers: 2
61
+ - Fusion: `gate`
62
+ - Consolidation: `tome`
63
+ - Per-device batch size: 2
64
+ - Global batch size: 32
65
+ - Optimizer learning rate: `2e-5`
66
+ - Scheduler: linear warmup + cosine decay
67
+ - Warmup ratio: 0.03
68
+ - EMA: enabled, decay `0.999`
69
+ - Mixed precision: enabled
70
+ - Training strategy: FSDP full shard
71
+ - Maximum training steps: 20,000
72
+ - Image augmentation: disabled
73
+ - Random seed: 42
74
+
75
+ ## Open-loop evaluation
76
+
77
+ On the same 21 training episodes, using frame-by-frame memory-aware inference:
78
+
79
+ - Normalized overall action RMSE: `0.2124`
80
+ - Gripper accuracy: `98.64%`
81
+ - Memory reset: at the first frame of every episode
82
+ - Cognitive and perception memory banks: capped at 256 entries
83
+
84
+ These are training-set open-loop results and should not be interpreted as
85
+ unseen-task generalization.
86
+
87
+ ## Loading outline
88
+
89
+ The exact loader depends on the MemoryVLA code revision. The essential
90
+ settings for this checkpoint are:
91
+
92
+ ```python
93
+ model = load_vla(
94
+ model_id_or_path="checkpoints/piper-color-sorting/frozen-ema-step-20000.pt",
95
+ load_for_training=False,
96
+ action_dim=7,
97
+ future_action_window_size=15,
98
+ action_model_type="DiT-L",
99
+ mem_length=256,
100
+ retrieval_layers=2,
101
+ use_timestep_pe=True,
102
+ fusion_type="gate",
103
+ consolidate_type="tome",
104
+ update_fused=False,
105
+ use_ema=True,
106
+ )
107
+ ```
108
+
109
+ For real deployment, reset the episode memory before the first observation of
110
+ each task and pass the matching `dataset_statistics.json` when unnormalizing
111
+ actions. The gripper action is sign-encoded (`-1` / `+1`) by the current
112
+ pipeline.
113
+
114
+ ## Repository layout
115
+
116
+ ```text
117
+ checkpoints/
118
+ piper-color-sorting/
119
+ frozen-ema-step-20000.pt
120
+ configs/
121
+ piper-color-sorting/
122
+ config.yaml
123
+ config.json
124
+ dataset_statistics.json
125
+ ```
126
+
127
+ Future tasks should use a separate directory, for example:
128
+
129
+ ```text
130
+ checkpoints/
131
+ piper-color-sorting/
132
+ drawer-opening/
133
+ peg-insertion/
134
+ configs/
135
+ piper-color-sorting/
136
+ drawer-opening/
137
+ peg-insertion/
138
+ ```
139
+
140
+ Keep the checkpoint, action statistics, task name, camera convention, and
141
+ training configuration together for every task.
142
+
143
+ ## Code and reproducibility
144
+
145
+ The Hugging Face repository stores model artifacts and deployment metadata.
146
+ A separate GitHub repository is recommended for the MemoryVLA model code,
147
+ real-robot wrapper, preprocessing, and evaluation scripts. It is not required
148
+ to download the weights, but it makes future task training, deployment, and
149
+ exact code-version tracking much safer. Record the Git commit or release tag
150
+ used for each checkpoint in the corresponding task directory or Model Card.
151
+
152
+ ## Intended use
153
+
154
+ Research and development for real-robot manipulation. Validate workspace
155
+ limits, action scaling, emergency stop behavior, camera calibration, and
156
+ gripper sign conventions before sending actions to hardware.