返回文章列表
Tech

Open-VLA 部署配置

Open-VLA 部署配置

Replicate Deployment Coding

环境配置

# Create and activate conda environment
conda create -n openvla python=3.10 -y
conda activate openvla

# Install PyTorch. Below is a sample command to do this, but you should check the following link
# to find installation instructions that are specific to your compute platform:
# https://pytorch.org/get-started/locally/
conda install pytorch torchvision torchaudio pytorch-cuda=12.4 -c pytorch -c nvidia -y  # UPDATE ME!

# Clone and install the openvla repo
git clone https://github.com/openvla/openvla.git
cd openvla
pip install -e .

# Install Flash Attention 2 for training (https://github.com/Dao-AILab/flash-attention)
#   =>> If you run into difficulty, try `pip cache remove flash_attn` first
pip install packaging ninja
ninja --version; echo $?  # Verify Ninja --> should return exit code "0"
pip install "flash-attn==2.5.5" --no-build-isolation

最后一步 pip install "flash-attn==2.5.5" --no-build-isolation 偶尔会遇到 error: [Errno 18] Invalid cross-device link 的报错,一般是使用集群服务器的问题

这是什么意思?

pip 在构建/缓存 wheel 时,会把一个临时目录里的文件 rename / hardlink 到 pip cache 目录(例如 ~/.cache/pip/wheels/...

但你的 临时目录(通常在 /tmp 或某个系统临时路径)和 cache 目录(在 /home/wensiqi/.cache/...)很可能位于 不同的文件系统/挂载点(常见于:/tmp 在本地盘、/home 在 NFS、或者 conda env 在另一个盘)

跨文件系统时,Linux 的 rename()/link() 不能这样“原子搬运”,就会抛 Errno 18

所以这是一个 文件系统跨设备移动/链接失败 的问题,而不是 flash-attn 本身坏了

使用 --no-cache-dir 就可以避免这个问题 (直接禁用 pip cache)

pip install "flash-attn==2.5.5" --no-build-isolation --no-cache-dir

到目前为止,环境就相当于是配置好了

libero仿真测试

先配置环境

git clone https://github.com/Lifelong-Robot-Learning/LIBERO.git
cd LIBERO
pip install -e .
cd ..
pip install -r experiments/robot/libero/libero_requirements.txt
export PYTHONPATH=$PYTHONPATH:/path/to/your/root/openvla/LIBERO
# export PYTHONPATH=$PYTHONPATH:$(pwd)/LIBERO

可以用下面的这个指令来检查 libero 库的问题

python -c "import libero; print('模块导入成功'); print(dir(libero))"

在服务器上总是遇到奇奇怪怪的问题….

分享这篇文章

返回首页