Robotics
LeRobot
Safetensors
English
smolvla
vla
vision-language-action
edge-ai
manipulation
fastvit
jetson
edge-deployment
Eval Results (legacy)
Instructions to use enfuse/edgevla-tiny-fmb with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- LeRobot
How to use enfuse/edgevla-tiny-fmb with LeRobot:
# See https://github.com/huggingface/lerobot?tab=readme-ov-file#installation for more details git clone https://github.com/huggingface/lerobot.git cd lerobot pip install -e .[smolvla]
# Launch finetuning on your dataset python lerobot/scripts/train.py \ --policy.path=enfuse/edgevla-tiny-fmb \ --dataset.repo_id=lerobot/svla_so101_pickplace \ --batch_size=64 \ --steps=20000 \ --output_dir=outputs/train/my_smolvla \ --job_name=my_smolvla_training \ --policy.device=cuda \ --wandb.enable=true
# Run the policy using the record function python -m lerobot.record \ --robot.type=so101_follower \ --robot.port=/dev/ttyACM0 \ # <- Use your port --robot.id=my_blue_follower_arm \ # <- Use your robot id --robot.cameras="{ front: {type: opencv, index_or_path: 8, width: 640, height: 480, fps: 30}}" \ # <- Use your cameras --dataset.single_task="Grasp a lego block and put it in the bin." \ # <- Use the same task description you used in your dataset recording --dataset.repo_id=HF_USER/dataset_name \ # <- This will be the dataset name on HF Hub --dataset.episode_time_s=50 \ --dataset.num_episodes=10 \ --policy.path=enfuse/edgevla-tiny-fmb - Notebooks
- Google Colab
- Kaggle
Upload EdgeVLA model and updated model card
Browse files- README.md +192 -0
- config.json +101 -0
- edgevla_metadata.json +32 -0
- model.safetensors +3 -0
README.md
ADDED
|
@@ -0,0 +1,192 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: apache-2.0
|
| 3 |
+
language:
|
| 4 |
+
- en
|
| 5 |
+
library_name: lerobot
|
| 6 |
+
pipeline_tag: robotics
|
| 7 |
+
tags:
|
| 8 |
+
- robotics
|
| 9 |
+
- vla
|
| 10 |
+
- vision-language-action
|
| 11 |
+
- edge-ai
|
| 12 |
+
- manipulation
|
| 13 |
+
- fastvit
|
| 14 |
+
- smolvla
|
| 15 |
+
- lerobot
|
| 16 |
+
- jetson
|
| 17 |
+
- nano
|
| 18 |
+
- edge-deployment
|
| 19 |
+
- real-time
|
| 20 |
+
datasets:
|
| 21 |
+
- lerobot/fmb
|
| 22 |
+
base_model:
|
| 23 |
+
- lerobot/smolvla_base
|
| 24 |
+
- HuggingFaceTB/SmolVLM2-500M-Video-Instruct
|
| 25 |
+
model-index:
|
| 26 |
+
- name: EdgeVLA-Tiny
|
| 27 |
+
results: []
|
| 28 |
+
---
|
| 29 |
+
|
| 30 |
+
# EdgeVLA-Tiny (FMB)
|
| 31 |
+
|
| 32 |
+
**164M parameter ultra-compact Vision-Language-Action model — the smallest VLA capable of real-time edge inference. Pretrained on real-robot data.**
|
| 33 |
+
|
| 34 |
+
> **This is the FMB (real-robot) variant.** These weights are trained on physical Franka Panda manipulation data with real cameras — not simulation. They encode real-world visual-motor skills (lighting, textures, depth) that transfer better to physical robots than simulation-trained weights. Use this as a starting point for fine-tuning on your own robot's data. For benchmark-comparable task success rates, see the LIBERO-finetuned variant (`edgevla-tiny-libero`).
|
| 35 |
+
|
| 36 |
+
EdgeVLA-Tiny pushes the EdgeVLA architecture to its smallest configuration: FastViT-t8 vision, 4 VLM layers, and 0.75x expert width. At 164M parameters (64% smaller than SmolVLA), it is designed for the most constrained edge platforms including Jetson Orin Nano. It trades some accuracy for dramatically faster inference.
|
| 37 |
+
|
| 38 |
+
Architecture inspired by [DynamicVLA](https://arxiv.org/abs/2601.22153) (Xie et al., 2026). Aggressive layer pruning is our contribution.
|
| 39 |
+
|
| 40 |
+
## Architecture
|
| 41 |
+
|
| 42 |
+
```
|
| 43 |
+
EdgeVLA-Tiny (164.2M total, 30.2M trainable):
|
| 44 |
+
FastViT-t8 backbone: 3.3M (trainable, replaces SigLIP 86.4M)
|
| 45 |
+
FastViT projection: 0.7M (trainable, replaces Connector 11.8M)
|
| 46 |
+
Language model (VLM): 133.9M (frozen — SmolLM2-360M, pruned 16→4 layers)
|
| 47 |
+
Action expert: 24.6M (trainable — flow matching, 4 layers, 0.75x width)
|
| 48 |
+
State/Action projections: 1.6M (trainable)
|
| 49 |
+
```
|
| 50 |
+
|
| 51 |
+
**Key differences from SmolVLA:**
|
| 52 |
+
- Vision: FastViT-t8 (4.0M, trainable) vs SigLIP (98.2M, frozen) — 96% fewer vision params
|
| 53 |
+
- VLM: 4 layers vs 16 layers (75% pruned)
|
| 54 |
+
- Expert: 4 layers at 0.75x width vs 16 layers full width (75% pruned)
|
| 55 |
+
- Visual tokens: 64 vs 729 (11x fewer)
|
| 56 |
+
- Total: 164M vs 450M (64% reduction)
|
| 57 |
+
- Memory: 313MB FP16 vs 858MB FP16
|
| 58 |
+
|
| 59 |
+
## Estimated Edge Inference (Jetson Orin AGX, TensorRT FP16)
|
| 60 |
+
|
| 61 |
+
| Component | H200 FP32 | Orin AGX (est. TRT FP16) |
|
| 62 |
+
|-----------|-----------|--------------------------|
|
| 63 |
+
| FastViT-t8 x3 cameras | ~8 ms | ~64 ms |
|
| 64 |
+
| VLM prefix (4 layers) | ~1.7 ms | ~14 ms |
|
| 65 |
+
| Expert x10 denoise steps | ~8 ms | ~64 ms |
|
| 66 |
+
| **Total per action chunk** | **~18 ms** | **~142 ms** |
|
| 67 |
+
|
| 68 |
+
Each inference produces 50 action steps. At 10Hz robot control, one chunk covers 5 seconds of motion. The 142ms inference budget leaves massive headroom for re-planning and sensor processing.
|
| 69 |
+
|
| 70 |
+
**Memory footprint**: 164M params = 328MB FP32 / 164MB FP16 — fits comfortably on Jetson Orin Nano (8GB).
|
| 71 |
+
|
| 72 |
+
## Training
|
| 73 |
+
|
| 74 |
+
| Parameter | Value |
|
| 75 |
+
|-----------|-------|
|
| 76 |
+
| Base model | `lerobot/smolvla_base` (SmolVLA) |
|
| 77 |
+
| Vision encoder | `timm/fastvit_t8.apple_in1k` (ImageNet pretrained) |
|
| 78 |
+
| Dataset | `lerobot/fmb` (Functional Manipulation Benchmark) |
|
| 79 |
+
| Steps | 50,000 |
|
| 80 |
+
| Batch size | 64 |
|
| 81 |
+
| Learning rate | 1e-4 (cosine schedule) |
|
| 82 |
+
| Warmup | 2,000 steps |
|
| 83 |
+
| Image augmentation | ColorJitter + RandomSharpness + RandomAffine |
|
| 84 |
+
| Action dimensions | 7 (x, y, z, rx, ry, rz, gripper) |
|
| 85 |
+
| State dimensions | 8 |
|
| 86 |
+
| Cameras | 3 (side_1, side_2, wrist) |
|
| 87 |
+
| VLM layers | 4 (pruned from 16) |
|
| 88 |
+
| Expert width | 0.75x |
|
| 89 |
+
| Hardware | NVIDIA H200 (141GB) |
|
| 90 |
+
| Final training loss | 0.086 |
|
| 91 |
+
|
| 92 |
+
## Evaluation — FMB Offline Action Prediction
|
| 93 |
+
|
| 94 |
+
FMB offline evaluation on held-out samples is **pending** for the R3 Tiny checkpoint. Results will be added once evaluation completes. Based on R2 Tiny (20K steps, 151M), we expect the R3 Tiny (50K steps, 164M, 7-dim actions) to show improved metrics thanks to the gripper dimension fix and longer training.
|
| 95 |
+
|
| 96 |
+
## Evaluation — LIBERO Simulation
|
| 97 |
+
|
| 98 |
+
The LIBERO-finetuned variant is now available: **[enfuse/edgevla-tiny-libero](https://huggingface.co/enfuse/edgevla-tiny-libero)** — achieving **1.2% overall task success rate** across the four LIBERO suites (spatial, object, goal, long-horizon). See that model card for full per-suite breakdowns.
|
| 99 |
+
|
| 100 |
+
## EdgeVLA Family Comparison
|
| 101 |
+
|
| 102 |
+
| Model | Params | Trainable | FMB MSE | Gripper Acc | Latency (H200) | Est. Orin |
|
| 103 |
+
|-------|--------|-----------|---------|-------------|-----------------|-----------|
|
| 104 |
+
| SmolVLA Baseline | 450M | 100M | 0.618 | 94.9% | 169ms | ~1.4s |
|
| 105 |
+
| EdgeVLA-Base | 363M | 111M | 0.487 | 96.1% | 175ms | ~1.4s |
|
| 106 |
+
| EdgeVLA-Small | 228M | 55M | 0.525 | 95.6% | 98ms | ~780ms |
|
| 107 |
+
| **EdgeVLA-Tiny** | **164M** | **30M** | — | — | **~58ms** | **~465ms** |
|
| 108 |
+
|
| 109 |
+
## Usage
|
| 110 |
+
|
| 111 |
+
```python
|
| 112 |
+
from lerobot.policies.smolvla.modeling_smolvla import SmolVLAPolicy
|
| 113 |
+
|
| 114 |
+
policy = SmolVLAPolicy.from_pretrained("enfuse/edgevla-tiny-fmb")
|
| 115 |
+
policy.eval()
|
| 116 |
+
|
| 117 |
+
# Or load from checkpoint
|
| 118 |
+
import torch
|
| 119 |
+
checkpoint = torch.load("checkpoint.pt", map_location="cpu")
|
| 120 |
+
# See edgevla/eval.py for full loading code with layer pruning
|
| 121 |
+
```
|
| 122 |
+
|
| 123 |
+
## Competitive Landscape
|
| 124 |
+
|
| 125 |
+
At 164M parameters, EdgeVLA-Tiny is the **smallest Vision-Language-Action model
|
| 126 |
+
available on HuggingFace** — by a wide margin. The next smallest is EdgeVLA-Small
|
| 127 |
+
at 228M, then GigaBrain-0-Small at 402M. Nothing else comes close.
|
| 128 |
+
|
| 129 |
+
| Model | Params | Vision | Edge-viable? | Orin Latency |
|
| 130 |
+
|-------|--------|--------|-------------|-------------|
|
| 131 |
+
| OpenVLA | 7B | SigLIP + DINOv2 (frozen) | No | Seconds |
|
| 132 |
+
| SmolVLA | 450M | SigLIP (frozen, 98M) | Borderline | ~1.4s |
|
| 133 |
+
| GigaBrain-0-Small | 402M | SmolVLM2 (frozen) | Yes | ~130ms |
|
| 134 |
+
| EdgeVLA-Base | 363M | FastViT-sa12 (trainable) | Yes | ~1.4s |
|
| 135 |
+
| EdgeVLA-Small | 228M | FastViT-t8 (trainable) | Yes | ~184ms |
|
| 136 |
+
| **EdgeVLA-Tiny** | **164M** | **FastViT-t8 (trainable, 4M)** | **Yes** | **~142ms** |
|
| 137 |
+
|
| 138 |
+
### What makes EdgeVLA-Tiny unique
|
| 139 |
+
|
| 140 |
+
1. **Smallest open-source VLA in existence.** 164M parameters, 164MB in FP16. Fits on a Jetson Orin Nano (8GB) with room to spare. No other model on HuggingFace can say this.
|
| 141 |
+
2. **Convolutional vision for edge hardware.** FastViT conv ops are natively accelerated on Jetson DLA cores, mobile NPUs, and microcontroller-class accelerators — unlike the ViT attention used by every other VLA.
|
| 142 |
+
3. **Only 30M trainable parameters.** Fine-tuning on your own robot's data takes hours on a single consumer GPU (RTX 3060 class or above).
|
| 143 |
+
4. **75% layer pruning.** VLM pruned 16→4 layers, expert to 4 layers at 0.75x width. This is the most aggressive pruning of any VLA, pushing the limits of how small a VLA can be while remaining functional.
|
| 144 |
+
5. **Part of a model family.** Choose Base (363M) for max accuracy, Small (228M) for balanced tradeoff, or Tiny (164M) for minimum size and maximum speed.
|
| 145 |
+
|
| 146 |
+
### Who should use this model
|
| 147 |
+
|
| 148 |
+
- **Jetson Nano / Orin Nano users** who need a VLA that fits in 8GB or less. This is the only option.
|
| 149 |
+
- **Real-time robotics applications** where inference must be under 200ms — catching objects, reactive manipulation, human-robot interaction.
|
| 150 |
+
- **Resource-constrained researchers** who want to prototype VLA-based control on cheap hardware (even a laptop GPU).
|
| 151 |
+
- **Mobile/drone robotics** where weight, power, and compute are severely constrained.
|
| 152 |
+
- **Anyone exploring the minimum viable VLA** — how small can a vision-language-action model be and still work?
|
| 153 |
+
|
| 154 |
+
## Limitations
|
| 155 |
+
|
| 156 |
+
- **Smallest model = most accuracy trade-off**: The aggressive pruning (75% of VLM and expert layers removed) limits representational capacity.
|
| 157 |
+
- **FMB offline eval pending**: R3 Tiny FMB eval results not yet available.
|
| 158 |
+
- **LIBERO success rate is low**: 1.2% — the aggressive pruning limits the model's ability to complete multi-step tasks in simulation.
|
| 159 |
+
- **Smoothness**: Expected higher jerk ratio than larger variants due to reduced capacity (R2 Tiny showed 2.5x jerk ratio).
|
| 160 |
+
- **No real-robot validation yet**: All results are from offline evaluation or simulation.
|
| 161 |
+
|
| 162 |
+
## Attribution
|
| 163 |
+
|
| 164 |
+
The core architectural insight of replacing SigLIP with a convolutional vision encoder (FastViT) for efficient VLA models comes from:
|
| 165 |
+
|
| 166 |
+
> **DynamicVLA: Efficient Vision-Language-Action Model via Dynamic Fusion for Robotic Manipulation**
|
| 167 |
+
> Xie et al., 2026 — S-Lab, Nanyang Technological University
|
| 168 |
+
> [arXiv:2601.22153](https://arxiv.org/abs/2601.22153)
|
| 169 |
+
|
| 170 |
+
Aggressive layer pruning to reach 164M parameters is our contribution.
|
| 171 |
+
|
| 172 |
+
Built on:
|
| 173 |
+
- [SmolVLA](https://huggingface.co/lerobot/smolvla_base) by HuggingFace (base VLA architecture)
|
| 174 |
+
- [FastViT](https://arxiv.org/abs/2303.14189) by Apple (convolutional vision encoder)
|
| 175 |
+
- [LeRobot](https://github.com/huggingface/lerobot) by HuggingFace (training framework)
|
| 176 |
+
|
| 177 |
+
## Citation
|
| 178 |
+
|
| 179 |
+
```bibtex
|
| 180 |
+
@article{xie2026dynamicvla,
|
| 181 |
+
title={DynamicVLA: Efficient Vision-Language-Action Model via Dynamic Fusion for Robotic Manipulation},
|
| 182 |
+
author={Xie, Yue and others},
|
| 183 |
+
journal={arXiv preprint arXiv:2601.22153},
|
| 184 |
+
year={2026}
|
| 185 |
+
}
|
| 186 |
+
|
| 187 |
+
@misc{edgevla2026,
|
| 188 |
+
title={EdgeVLA: Edge-Optimized Vision-Language-Action Models},
|
| 189 |
+
year={2026},
|
| 190 |
+
note={Extends DynamicVLA with layer pruning for sub-200M VLA models}
|
| 191 |
+
}
|
| 192 |
+
```
|
config.json
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"n_obs_steps": 1,
|
| 3 |
+
"input_features": {
|
| 4 |
+
"observation.state": {
|
| 5 |
+
"type": "STATE",
|
| 6 |
+
"shape": [
|
| 7 |
+
8
|
| 8 |
+
]
|
| 9 |
+
},
|
| 10 |
+
"observation.images.camera1": {
|
| 11 |
+
"type": "VISUAL",
|
| 12 |
+
"shape": [
|
| 13 |
+
3,
|
| 14 |
+
256,
|
| 15 |
+
256
|
| 16 |
+
]
|
| 17 |
+
},
|
| 18 |
+
"observation.images.camera2": {
|
| 19 |
+
"type": "VISUAL",
|
| 20 |
+
"shape": [
|
| 21 |
+
3,
|
| 22 |
+
256,
|
| 23 |
+
256
|
| 24 |
+
]
|
| 25 |
+
},
|
| 26 |
+
"observation.images.camera3": {
|
| 27 |
+
"type": "VISUAL",
|
| 28 |
+
"shape": [
|
| 29 |
+
3,
|
| 30 |
+
256,
|
| 31 |
+
256
|
| 32 |
+
]
|
| 33 |
+
}
|
| 34 |
+
},
|
| 35 |
+
"output_features": {
|
| 36 |
+
"action": {
|
| 37 |
+
"type": "ACTION",
|
| 38 |
+
"shape": [
|
| 39 |
+
7
|
| 40 |
+
]
|
| 41 |
+
}
|
| 42 |
+
},
|
| 43 |
+
"device": "cuda",
|
| 44 |
+
"use_amp": false,
|
| 45 |
+
"use_peft": false,
|
| 46 |
+
"push_to_hub": true,
|
| 47 |
+
"repo_id": null,
|
| 48 |
+
"private": null,
|
| 49 |
+
"tags": null,
|
| 50 |
+
"license": null,
|
| 51 |
+
"pretrained_path": null,
|
| 52 |
+
"chunk_size": 50,
|
| 53 |
+
"n_action_steps": 50,
|
| 54 |
+
"normalization_mapping": {
|
| 55 |
+
"VISUAL": "IDENTITY",
|
| 56 |
+
"STATE": "MEAN_STD",
|
| 57 |
+
"ACTION": "MEAN_STD"
|
| 58 |
+
},
|
| 59 |
+
"max_state_dim": 32,
|
| 60 |
+
"max_action_dim": 32,
|
| 61 |
+
"resize_imgs_with_padding": [
|
| 62 |
+
256,
|
| 63 |
+
256
|
| 64 |
+
],
|
| 65 |
+
"empty_cameras": 0,
|
| 66 |
+
"adapt_to_pi_aloha": false,
|
| 67 |
+
"use_delta_joint_actions_aloha": false,
|
| 68 |
+
"tokenizer_max_length": 48,
|
| 69 |
+
"num_steps": 10,
|
| 70 |
+
"use_cache": true,
|
| 71 |
+
"freeze_vision_encoder": true,
|
| 72 |
+
"train_expert_only": true,
|
| 73 |
+
"train_state_proj": true,
|
| 74 |
+
"optimizer_lr": 0.0001,
|
| 75 |
+
"optimizer_betas": [
|
| 76 |
+
0.9,
|
| 77 |
+
0.95
|
| 78 |
+
],
|
| 79 |
+
"optimizer_eps": 1e-08,
|
| 80 |
+
"optimizer_weight_decay": 1e-10,
|
| 81 |
+
"optimizer_grad_clip_norm": 10.0,
|
| 82 |
+
"scheduler_warmup_steps": 1000,
|
| 83 |
+
"scheduler_decay_steps": 30000,
|
| 84 |
+
"scheduler_decay_lr": 2.5e-06,
|
| 85 |
+
"vlm_model_name": "HuggingFaceTB/SmolVLM2-500M-Video-Instruct",
|
| 86 |
+
"load_vlm_weights": true,
|
| 87 |
+
"add_image_special_tokens": false,
|
| 88 |
+
"attention_mode": "cross_attn",
|
| 89 |
+
"prefix_length": 0,
|
| 90 |
+
"pad_language_to": "max_length",
|
| 91 |
+
"num_expert_layers": 4,
|
| 92 |
+
"num_vlm_layers": 4,
|
| 93 |
+
"self_attn_every_n_layers": 2,
|
| 94 |
+
"expert_width_multiplier": 0.75,
|
| 95 |
+
"min_period": 0.004,
|
| 96 |
+
"max_period": 4.0,
|
| 97 |
+
"rtc_config": null,
|
| 98 |
+
"compile_model": false,
|
| 99 |
+
"compile_mode": "max-autotune",
|
| 100 |
+
"model_type": "smolvla"
|
| 101 |
+
}
|
edgevla_metadata.json
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"step": 50000,
|
| 3 |
+
"loss": 0.08599745482206345,
|
| 4 |
+
"edgevla_args": {
|
| 5 |
+
"fastvit_variant": "fastvit_t8",
|
| 6 |
+
"fastvit_pretrained": true,
|
| 7 |
+
"fastvit_input_size": 256,
|
| 8 |
+
"freeze_fastvit_backbone": false,
|
| 9 |
+
"base_policy": "lerobot/smolvla_base",
|
| 10 |
+
"dataset": "lerobot/fmb",
|
| 11 |
+
"rename_map": null,
|
| 12 |
+
"run_name": "r3_tiny_4L_t8",
|
| 13 |
+
"output_dir": "outputs",
|
| 14 |
+
"batch_size": 64,
|
| 15 |
+
"steps": 50000,
|
| 16 |
+
"lr": 0.0001,
|
| 17 |
+
"weight_decay": 1e-10,
|
| 18 |
+
"warmup_steps": 2000,
|
| 19 |
+
"grad_clip_norm": 10.0,
|
| 20 |
+
"num_workers": 7,
|
| 21 |
+
"log_freq": 50,
|
| 22 |
+
"save_freq": 10000,
|
| 23 |
+
"seed": 42,
|
| 24 |
+
"train_expert_only": true,
|
| 25 |
+
"empty_cameras": 0,
|
| 26 |
+
"num_vlm_layers": 4,
|
| 27 |
+
"num_expert_layers": -1,
|
| 28 |
+
"expert_width_multiplier": 0.75,
|
| 29 |
+
"image_aug": true
|
| 30 |
+
},
|
| 31 |
+
"source_checkpoint": "outputs/r3_tiny_4L_t8/checkpoint-50000/checkpoint.pt"
|
| 32 |
+
}
|
model.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:f727fc9e6829e01676682bc3ac0486863c8e8e4ee2ab9588c657f3b20655b6b1
|
| 3 |
+
size 331696216
|