StarVLA模型LIBERO基准复现指南
1. 引言
本文记录了在AutoDL云服务器上部署StarVLA模型并在LIBERO模拟环境中进行评估的完整过程。涉及环境配置、模型下载、数据集准备、脚本修改、代码兼容性修复及常见问题解决,为同类工作提供参考。
2. 环境配置
StarVLA评估需要两个独立的Conda环境:
-
libero:运行LIBERO模拟器(Python 3.10)
-
starVLA:启动模型推理服务器(Python 3.10)
2.1 创建环境
conda create -n libero python=3.10
conda create -n starVLA python=3.10
2.2 安装LIBERO及其依赖
conda activate libero
git clone https://github.com/Lifelong-Robot-Learning/LIBERO.git
cd LIBERO
pip install -r requirements.txt
pip install torch==1.11.0+cu113 torchvision==0.12.0+cu113 torchaudio==0.11.0 --extra-index-url https://download.pytorch.org/whl/cu113
pip install -e .
# StarVLA评估额外依赖
pip install tyro matplotlib mediapy websockets msgpack
pip install numpy==1.24.4
2.3 安装StarVLA依赖
conda activate starVLA
cd /path/to/starVLA
pip install -r requirements.txt # 若无则根据运行报错安装
3. 模型下载
3.1 问题:直接git clone导致模型文件不完整
使用git clone下载模型后,权重文件仅135字节(Git LFS指针),并非真实权重。
3.2 解决:使用huggingface-cli完整下载
pip install huggingface-hub
huggingface-cli login
export HF_ENDPOINT=https://hf-mirror.com # 国内加速
huggingface-cli download StarVLA/Qwen2.5-VL-GR00T-LIBERO-4in1 --local-dir /path/to/model --resume-download
下载完成后确认文件大小(约7.9GB)。
4. 数据集准备
使用StarVLA提供的脚本下载四个数据集(libero_spatial, libero_object, libero_goal, libero_10):
cd /path/to/starVLA
export DEST=/path/to/datasets/libero
bash examples/LIBERO/data_preparation.sh
这些数据集采用 LeRobot 格式(Hugging Face机器人数据集标准),包含图像、状态、动作和语言指令,便于VLA模型训练与评估。
数据内存占用大,可按需移动到合适盘并创建软链接使LIBERO能找到数据:
cd /path/to/starVLA
export DEST=/path/to/datasets/libero
bash examples/LIBERO/data_preparation.sh
5. 修改评估脚本
两个关键脚本位于examples/LIBERO/eval_files/:
5.1 run_policy_server.sh
设置Python路径、模型权重路径、GPU ID和端口:
export star_vla_python=/path/to/starVLA/bin/python
your_ckpt=/path/to/model/checkpoints/steps_30000_pytorch_model.pt
gpu_id=0
port=5694
5.2 eval_libero.sh
设置LIBERO相关路径和模型权重:
cd /path/to/starVLA
export LIBERO_HOME=/path/to/LIBERO
export LIBERO_CONFIG_PATH=${LIBERO_HOME}/libero
export LIBERO_Python=/path/to/libero/bin/python
your_ckpt=/path/to/model/checkpoints/steps_30000_pytorch_model.pt
6. 代码兼容性修复
启动服务器时出现属性错误:'Qwen2_5_VLConfig' object has no attribute 'hidden_size'。原因是模型配置文件中的字段名为vl_hidden_dim,且位于framework.qwenvl下。修改QwenGR00T.py第74行:
# 原代码
self.config.framework.action_model.diffusion_model_cfg.cross_attention_dim = self.qwen_vl_interface.model.config.hidden_size
# 修改为
self.config.framework.action_model.diffusion_model_cfg.cross_attention_dim = self.config.framework.qwenvl.vl_hidden_dim
7. 无头服务器渲染问题
运行评估脚本时出现EGL相关错误。原因:云端无显示器,需指定离屏渲染后端。 安装系统库并设置环境变量:
sudo apt-get install libgl1-mesa-glx libgl1-mesa-dri libegl1-mesa libosmesa6-dev
export MUJOCO_GL=egl
export PYOPENGL_PLATFORM=egl
若EGL不可用,改用OSMesa:
export MUJOCO_GL=osmesa
export PYOPENGL_PLATFORM=osmesa
正确设置渲染环境变量后,评估脚本才能正常运行并生成视频,最终保存在 results/ 目录下。
8. 其他常见问题
-
conda activate失败:执行
conda init bash并重启终端。 -
debugpy阻塞:注释掉
start_debugpy_once()调用。 -
端口不一致:确保两个脚本中port相同。
-
数据集找不到:检查软链接是否正确。
9. 运行评估
终端1(starVLA环境)
conda activate starVLA
cd /path/to/starVLA
bash examples/LIBERO/eval_files/run_policy_server.sh
终端2(libero环境)
conda activate libero
cd /path/to/starVLA
bash examples/LIBERO/eval_files/eval_libero.sh
10. 总结
通过上述步骤,可在云服务器上成功运行StarVLA的LIBERO评估。关键点包括:正确配置环境、完整下载模型、修改代码适配模型配置、设置渲染环境变量等。数据采用LeRobot格式,便于处理。希望本文能帮助读者高效完成类似任务。
更多推荐



所有评论(0)