X-VLA
X-VLA 引入软提示机制:针对具体本体的可学习嵌入,引导统一的 Transformer 主干进行多领域策略学习。
核验日期
核心信息
以下信息由程序从官方接口读取,不经模型改写。
- 许可证
- Apache-2.0
- 语言
- C++
- 维护方
- 2toinf
- 核验日期
它是什么
X-VLA 引入软提示机制,即针对具体本体的可学习嵌入,引导统一的 Transformer 主干进行有效的多领域策略学习。X-VLA 由 2toINF 维护。X-VLA 已被 ICLR 2026 接收。X-VLA 在 IROS 2025 举办的 AgiBot World Challenge 中获得第 1 名(冠军)。
主要能力
项目方称,X-VLA-0.9B 架构在六个仿真平台和三个真实机器人上取得了最先进的泛化能力。
X-VLA 采用服务端—客户端架构,将模型环境与仿真或机器人专用依赖分离。
为保证跨本体的一致性,X-VLA 采用统一的 EE6D(末端执行器 6D)控制空间。
X-VLA 支持通过模块化、可扩展的数据集接口,在新的演示数据上进行微调。
项目方已发布 LoRA 微调代码,以及检查点和相关的推理代码。
怎么上手
客户端通过 HTTP POST 通信,以 JSON 负载的形式发送多模态数据(视觉、语言和本体感知)。
推理服务器启动后,API 端点即可使用。
负载中的 domain_id 键是当前机器人本体或领域的标识符。
负载中的 steps 键表示基于流匹配的生成所用的去噪步数(例如 10)。
在数据准备流程中,每个领域都有一个列出轨迹文件路径的元数据 JSON 文件。
SLURM 与集群部署脚本会自动检测 SLURM 环境变量、启动分布式服务器并写入连接元数据。
# Clone the repository
git clone https://github.com/2toinf/X-VLA.git
cd X-VLA# Create and activate Conda environment
conda create -n XVLA python=3.10 -y
conda activate XVLA
# Install dependencies
pip install -r requirements.txtfrom transformers import AutoModel, AutoProcessor
import json_numpy
# Load model and processor
model = AutoModel.from_pretrained("2toINF/X-VLA-WidowX", trust_remote_code=True)
processor = AutoProcessor.from_pretrained("2toINF/X-VLA-WidowX", trust_remote_code=True)
# Start the inference server
print("🚀 Starting X-VLA inference server...")
model.run(processor, host="0.0.0.0", port=8000)POST http://<server_ip>:8000/actimport requests
import numpy as np
import json_numpy
server_url = "http://localhost:8000/act"
timeout = 5
# Prepare inputs
proprio = np.zeros(7, dtype=np.float32)
image = np.zeros((256, 256, 3), dtype=np.uint8)
instruction = "Move the gripper to the target position"
payload = {
"proprio": json_numpy.dumps(proprio),
"language_instruction": instruction,
"image0": json_numpy.dumps(image),
"domain_id": 0,
"steps": 10
}
try:
response = requests.post(server_url, json=payload, timeout=timeout)
response.raise_for_status()
result = response.json()
actions = np.array(result["action"], dtype=np.float32)
print(f"✅ Received {actions.shape[0]} predicted actions.")
except Exception as e:
print(f"⚠️ Request failed: {e}")
actions = np.zeros((30, 20), dtype=np.float32)python -m deploy --model_path /path/to/your/model适合谁
在 EE6D 控制空间中,维度是一个 20-D 向量,由 3(末端位置)、6(6D 旋转)、1(夹爪)和 10(填充)组成。在单臂情况下,如果只有一条手臂,则用零填充以保持 20D 向量。每个已发布的模型都包含对应的参考客户端。
项目方强烈建议在连接物理或仿真机器人时,基于这些参考客户端进行改写。每个本体都针对各自的环境进行微调,同时保持跨本体对齐。X-VLA-Pt 模型是在多个机器人领域上训练的基础检查点。
评估脚本遵循标准化格式,以便进行可复现的基准测试。项目方报告称,将其模型转换为 HF 格式后,性能出现轻微下降(不同数据集上约 1%),并表示正在积极调查原因。X-VLA 已原生集成到 LeRobot 平台。
本仓库采用 Apache License 2.0 许可。
来源
本页内容整理自以下官方来源,点击可核对原文。
- GitHub READMEhttps://github.com/2toinf/X-VLA抓取于
核验日期 ·
本页由 AI 依据上述官方来源整理,并经自动核对,未经本站实测。 发现错误?告诉我们。