# LIBERO 安装、数据下载与评估实操流程

> 原文链接：https://robotics.hellobike.com/tutorials/libero-benchmark-setup-eval
> 频道：tutorials | 更新日期：2026-10-22 | 标签：LIBERO, robot learning, datasets, lifelong learning, evaluation
> 核心摘要：本文按 LIBERO README 原文整理安装依赖、安装 libero 包、下载演示数据集、启动训练与单独评估的最小流程，保留原始命令和可选参数。

# LIBERO 安装、数据下载与评估实操流程

&gt; 本文依据以下官方文档整理：[raw.githubusercontent.com/Lifelong-Robot-Learning/LIBERO/mas](https://raw.githubusercontent.com/Lifelong-Robot-Learning/LIBERO/master/README.md)。命令与版本以文档当前版本为准。

## 前置条件

- 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/cu113
```

## 2. 安装 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.py
```

## 4. 按名称选择数据集或使用 HuggingFace

如只下载特定 dataset，`DATASET` 从 `[libero_spatial, libero_object, libero_100, libero_goal]` 中选择。也可以使用 HuggingFace 下载，并可与特定数据集选择组合。

```bash
python benchmark_scripts/download_libero_datasets.py --datasets DATASET
```

```bash
python benchmark_scripts/download_libero_datasets.py --use-huggingface
```

```bash
python benchmark_scripts/download_libero_datasets.py --datasets DATASET --use-huggingface
```

## 5. 启动 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=ALGO
```

## 6. 单独运行评估脚本

默认情况下，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 `LIBERO` folder，并且 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 条目

- [LIBERO](/sdks/lifelong-robot-learning-libero)

## 原始参考来源 (Sources)

- [raw.githubusercontent.com/Lifelong-Robot-Learning/LIBERO/master/README.md](https://raw.githubusercontent.com/Lifelong-Robot-Learning/LIBERO/master/README.md)