外观
教程raw.githubusercontent.com6 天前
LIBERO 安装、数据下载与评估实操流程
> 本文依据以下官方文档整理:raw.githubusercontent.com/Lifelong-Robot-Learning/LIBERO/mas。命令与版本以文档当前版本为准。
前置条件
- conda 环境,使用 python=3.8.13
- 需要克隆 https://github.com/Lifelong-Robot-Learning/LIBERO.git
- 按 requirements.txt 安装依赖
- torch==1.11.0+cu113、torchvision==0.12.0+cu113、torchaudio==0.11.0
- 训练命令使用 GPU_ID,评估命令使用 CUDA_ID
1. 创建环境并安装 LIBERO 依赖
按文档要求,先创建并激活 conda 环境,然后克隆仓库、进入 LIBERO 目录,安装 requirements.txt 与指定 PyTorch 相关包。
bash
conda create -n libero python=3.8.13
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/cu1132. 安装 libero 包
依赖安装完成后,在 LIBERO 仓库目录内安装 libero package。文档给出的安装方式是 editable 安装,便于直接使用仓库中的代码。
bash
pip install -e .3. 下载 LIBERO 演示数据集
LIBERO 提供四个 task suites 的 high-quality human teleoperation demonstrations。默认会存储在 LIBERO folder 下,并下载全部四个 datasets。
bash
python benchmark_scripts/download_libero_datasets.py4. 按名称选择数据集或使用 HuggingFace
如只下载特定 dataset,DATASET 从 [libero_spatial, libero_object, libero_100, libero_goal] 中选择。也可以使用 HuggingFace 下载,并可与特定数据集选择组合。
bash
python benchmark_scripts/download_libero_datasets.py --datasets DATASETbash
python benchmark_scripts/download_libero_datasets.py --use-huggingfacebash
python benchmark_scripts/download_libero_datasets.py --datasets DATASET --use-huggingface5. 启动 lifelong learning 训练
开始实验前,选择 BENCHMARK、POLICY 与 ALGO。文档列出的范围分别为 [LIBERO_SPATIAL, LIBERO_OBJECT, LIBERO_GOAL, LIBERO_90, LIBERO_10]、[bc_rnn_policy, bc_transformer_policy, bc_vilt_policy]、[base, er, ewc, packnet, multitask]。
bash
export CUDA_VISIBLE_DEVICES=GPU_ID && \
export MUJOCO_EGL_DEVICE_ID=GPU_ID && \
python libero/lifelong/main.py seed=SEED \
benchmark_name=BENCHMARK \
policy=POLICY \
lifelong=ALGO6. 单独运行评估脚本
默认情况下,policies 会在训练期间 on the fly 评估。若 GPU computing resource 有限,文档提供了单独评估 models 的脚本。
bash
python libero/lifelong/evaluate.py --benchmark BENCHMARK_NAME \
--task_id TASK_ID \
--algo ALGO_NAME \
--policy POLICY_NAME \
--seed SEED \
--ep EPOCH \
--load_task LOAD_TASK \
--device_id CUDA_ID验证是否跑通
训练时 policies 默认会 on the fly 评估;也可运行 python libero/lifelong/evaluate.py 对 models separately 评估。环境当前只支持 sparse reward function,任务完成时 agent receives +1。
文档里点名的注意事项
- 默认下载数据集时,dataset will be stored under the
LIBEROfolder,并且 all four datasets will be downloaded。 DATASET只能从[libero_spatial, libero_object, libero_100, libero_goal]中选择。- Currently, LIBERO only support sparse reward function,agent 在 task is finished 时 receives
+1。 - As sparse-reward RL is extremely hard to learn,当前 mainly focus on lifelong imitation learning。
- 默认 policies will be evaluated on the fly during training;GPU 资源有限时可使用单独 evaluation script。
相关 SDK 条目
来源
本页事实对应的公开页面,以原文为准。