Views
No views yet
checkpoints/
color_object/
ckpt-30000/
model.safetensors # fine-tuned weights (step 30000)
config.json
tokenizer.json
tokenizer_config.json
vocab.json
merges.txt
preprocessor_config.json
special_tokens_map.json
state.json
models/ # model architecture (Florence2 + X-VLA)
configuration_florence2.py
configuration_xvla.py
modeling_florence2.py
modeling_xvla.py
processing_xvla.py
action_hub.py
transformer.py
deploy/X-VLA-Pt/ # base pretrained model config & code
evaluation/ # eval clients for Calvin, LIBERO, Simpler, etc.
slurm_scripts/ # SLURM finetune scripts for all conflict splits
train.py # full training entry point
peft_train.py # LoRA / PEFT fine-tuning entry point
deploy.py # inference server launcher
requirements.txt1git clone https://huggingface.co/yqi19/xvla
2cd xvla
3pip install -r requirements.txtcheckpoints/color_object/ckpt-30000/.
To download programmatically:1from huggingface_hub import snapshot_download
2snapshot_download(repo_id="yqi19/xvla", local_dir="./xvla")1from transformers import AutoModel, AutoProcessor
2
3model = AutoModel.from_pretrained(
4 "checkpoints/color_object/ckpt-30000",
5 trust_remote_code=True,
6)
7processor = AutoProcessor.from_pretrained(
8 "checkpoints/color_object/ckpt-30000",
9 trust_remote_code=True,
10)
11
12model.run(processor, host="0.0.0.0", port=8000)POST http://localhost:8000/act1import requests
2import numpy as np
3import json_numpy
4
5server_url = "http://localhost:8000/act"
6
7proprio = np.zeros(7, dtype=np.float32) # joint / EE state
8image = np.zeros((256, 256, 3), dtype=np.uint8) # RGB observation
9
10payload = {
11 "proprio": json_numpy.dumps(proprio),
12 "language_instruction": "Pick up the red block and place it on the green object",
13 "image0": json_numpy.dumps(image),
14 "domain_id": 0, # domain id used during training
15 "steps": 10, # diffusion denoising steps
16}
17
18response = requests.post(server_url, json=payload, timeout=10)
19actions = np.array(response.json()["action"], dtype=np.float32)
20print(f"Predicted actions shape: {actions.shape}") # e.g. (30, 20)| Component | Dims | Description |
|---|---|---|
| EE position | 3 | xyz translation |
| EE rotation | 6 | 6D rotation representation |
| Gripper | 1 | open/close binary |
| Padding | 10 | zeros (single-arm) |
| Total | 20 | per action step |
1from datasets.utils import rotate6d_to_xyz
2import numpy as np
3
4action_final = np.concatenate([
5 action_pred[:3],
6 rotate6d_to_xyz(action_pred[3:9]),
7 np.array([1.0 if action_pred[9] > 0.5 else 0.0])
8])1accelerate launch \
2 --mixed_precision bf16 \
3 train.py \
4 --models checkpoints/color_object/ckpt-30000 \
5 --train_metas_path /path/to/meta_files.json \
6 --learning_rate 1e-4 \
7 --learning_coef 0.1 \
8 --iters 50000 \
9 --freeze_steps 1000 \
10 --warmup_steps 2000finetune_readme.md for the full data preparation guide.1@article{zheng2025x,
2 title = {X-VLA: Soft-Prompted Transformer as Scalable Cross-Embodiment Vision-Language-Action Model},
3 author = {Zheng, Jinliang and Li, Jianxiong and Wang, Zhihao and others},
4 journal = {arXiv preprint arXiv:2510.10274},
5 year = {2025}
6}