Instructions to use Haongchen/MemoryVLA with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Piper
How to use Haongchen/MemoryVLA with Piper:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Notebooks
- Google Colab
- Kaggle
File size: 5,526 Bytes
8cda58d 0b647bc 8cda58d 5fa271b a0646a5 5fa271b a0646a5 5fa271b 8cda58d 5fa271b 8cda58d 0b647bc 8cda58d 351cb5f 8cda58d | 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 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 | ---
library_name: memoryvla
tags:
- robotics
- vision-language-action
- memory
- action-diffusion
- piper
pipeline_tag: robotics
license: apache-2.0
---
# MemoryVLA
MemoryVLA checkpoint for real-robot action prediction. This repository is
organized so that additional real-world task checkpoints can be added under
`checkpoints/<task-name>/` without replacing the current model.
## Latest checkpoint
The current default checkpoint is:
```text
checkpoints/frozen-ema-step-20000.pt
```
It is the EMA action-diffusion checkpoint from the Frozen+EMA training run.
The matching action normalization statistics are stored at:
```text
configs/piper-color-sorting/dataset_statistics.json
```
The exact runtime configuration for this run is stored at:
```text
configs/piper-color-sorting/config.yaml
configs/piper-color-sorting/config.json
```
The checkpoint is intended to be loaded with the MemoryVLA codebase and
`use_ema=True`. The model uses the `custom_finetuning` normalization key.
For direct loading from the repository root, a server-side LFS alias is also
provided at:
```text
checkpoints/frozen-ema-step-20000.pt
```
Set `MEMORYVLA_SKIP_BASE_WEIGHTS=1` for inference. The task checkpoint already
contains the trained LLM, vision backbone, projector, action model, and EMA
weights. The required Llama-2 tokenizer/config metadata is mirrored at:
```text
base_models/llama-2-7b-hf/
```
It does not need to download the full Llama or vision weight files again.
Point `MEMORYVLA_LLAMA2_7B_PATH` at that downloaded metadata directory for
offline inference. The metadata is provided for loader compatibility; the
gated Llama model license still applies to the underlying model family.
For future real-task training, the matching CogACT-Large initialization
checkpoint is available at:
```text
base_models/CogACT-Large/CogACT-Large.pt
```
The CogACT base checkpoint is only needed when initializing a new training
run. It is not needed when loading the Frozen+EMA task checkpoint for
inference.
The original Llama model weights are not duplicated in this repository because
they are gated third-party weights. Use the original Hugging Face model with
the appropriate access terms and token.
## Training configuration
- Task: Piper color sorting
- Data: 21 valid real-world episodes, 14,300 frames
- Observation: front camera only in this dataset; no wrist-camera stream was
available in the training data
- Base VLM: `prism-dinosiglip-224px+7b`
- Vision backbone: frozen
- LLM backbone: frozen
- Last LLM layer: frozen
- Trainable components: action diffusion model and MemoryVLA trainable
modules
- Action dimension: 7 (`x, y, z, roll, pitch, yaw, gripper`)
- Action model: `DiT-L`
- Future action window: 15
- Memory length: 256
- Retrieval layers: 2
- Fusion: `gate`
- Consolidation: `tome`
- Per-device batch size: 2
- Global batch size: 32
- Optimizer learning rate: `2e-5`
- Scheduler: linear warmup + cosine decay
- Warmup ratio: 0.03
- EMA: enabled, decay `0.999`
- Mixed precision: enabled
- Training strategy: FSDP full shard
- Maximum training steps: 20,000
- Image augmentation: disabled
- Random seed: 42
## Open-loop evaluation
On the same 21 training episodes, using frame-by-frame memory-aware inference:
- Normalized overall action RMSE: `0.2124`
- Gripper accuracy: `98.64%`
- Memory reset: at the first frame of every episode
- Cognitive and perception memory banks: capped at 256 entries
These are training-set open-loop results and should not be interpreted as
unseen-task generalization.
## Loading outline
The exact loader depends on the MemoryVLA code revision. The essential
settings for this checkpoint are:
```python
model = load_vla(
model_id_or_path="Haongchen/MemoryVLA",
load_for_training=False,
action_dim=7,
future_action_window_size=15,
action_model_type="DiT-L",
mem_length=256,
retrieval_layers=2,
use_timestep_pe=True,
fusion_type="gate",
consolidate_type="tome",
update_fused=False,
use_ema=True,
)
```
For real deployment, reset the episode memory before the first observation of
each task and pass the matching `dataset_statistics.json` when unnormalizing
actions. The gripper action is sign-encoded (`-1` / `+1`) by the current
pipeline.
## Repository layout
```text
checkpoints/
frozen-ema-step-20000.pt
configs/
piper-color-sorting/
config.yaml
config.json
dataset_statistics.json
```
Future tasks should use a separate directory, for example:
```text
checkpoints/
drawer-opening/
peg-insertion/
configs/
piper-color-sorting/
drawer-opening/
peg-insertion/
```
Keep the checkpoint, action statistics, task name, camera convention, and
training configuration together for every task.
## Code and reproducibility
The training, inference, real-robot wrapper, preprocessing, and evaluation
code are available at:
https://github.com/Laryderr/MemoryVLA
The checkpoint in this repository was produced with code commit:
```text
dd9b4709db9acb48b4e074f71632cb6cc3570662
```
The Hugging Face repository stores model artifacts and deployment metadata,
while GitHub stores source code and reproducibility files. The GitHub
repository is not required to download the weights, but it should be kept in
sync for future task training and real-robot deployment.
## Intended use
Research and development for real-robot manipulation. Validate workspace
limits, action scaling, emergency stop behavior, camera calibration, and
gripper sign conventions before sending actions to hardware.
|