| 名称 | i4h-lerobot-viz |
| 版本 | “0.6.0” |
| 描述 | 在浏览器中为转换后的数据集提供 LeRobot HTML 可视化器。当用户要求可视化、检查或打开 LeRobot 数据集时使用;不用于转换 HDF5(请使用 [[i4h-workflow-dataset-convert]])。 |
| 开源协议 | Apache-2.0 metadata: |
| 作者 | “Isaac for Healthcare Team isaac-for-healthcare-support@nvidia.com” tags: - isaac-for-healthcare - i4h - lerobot - visualization - dataset |
i4h 工作流 — LeRobot 可视化
目的
在浏览器中为转换后的数据集提供 LeRobot HTML 可视化器。当用户要求可视化、检查或打开 LeRobot 数据集时使用。
基础代码
以下步骤驱动 i4h-workflows 基础代码(即 workflows/agentic/ 目录树)。要复用现有的检出,请将 I4H_WORKFLOWS 设置为其路径(不会发生克隆)。否则,将解析当前仓库,或克隆到 ~/i4h-workflows — 请直接选择该默认路径,无需提示。请在解析到的根目录下运行以下每条命令:
# Resolve the i4h-workflows base code (provides workflows/agentic/).
ROOT="${I4H_WORKFLOWS:-$(git rev-parse --show-toplevel 2>/dev/null)}"
if [ ! -d "$ROOT/workflows/agentic" ]; then
ROOT="${I4H_WORKFLOWS:-$HOME/i4h-workflows}"
[ -d "$ROOT/workflows/agentic" ] || git clone https://github.com/isaac-for-healthcare/i4h-workflows "$ROOT"
fi
export I4H_WORKFLOWS="$ROOT"; cd "$ROOT"
基础知识
- 输入是一个已转换的 LeRobot 数据集目录,其中包含
meta/info.json。 - 用于转换后或视频增强后的视觉检查。
运行
按顺序运行以下步骤。每一步都是一个独立的 bash 调用;变量会保留在本地 agent 的 tmux 会话中。
步骤 1 — 设置并解析数据集
REPO_ROOT="${I4H_WORKFLOWS:-$(git rev-parse --show-toplevel 2>/dev/null)}"; [ -d "$REPO_ROOT/workflows/agentic" ] || REPO_ROOT="$HOME/i4h-workflows"
RUNS_ROOT="${REPO_ROOT}/workflows/agentic/runs"
# Point DATASET_DIR at a converted LeRobot dataset dir (absolute; must contain meta/info.json),
# produced by [[i4h-workflow-dataset-convert]]. List candidates:
# find "${RUNS_ROOT}" "${HF_LEROBOT_HOME:-$HOME/.cache/huggingface/lerobot}" -name info.json -path '*/meta/*' -printf '%h
' | sed 's#/meta$##' | sort -u
DATASET_DIR="${DATASET_DIR:-}"
if [ ! -f "${DATASET_DIR%/}/meta/info.json" ]; then
echo "viz: set DATASET_DIR to a LeRobot dataset dir with meta/info.json (got '${DATASET_DIR:-<unset>}'). Candidates:" >&2
find "${RUNS_ROOT}" "${HF_LEROBOT_HOME:-$HOME/.cache/huggingface/lerobot}" -name info.json -path '*/meta/*' -printf '%h
' 2>/dev/null | sed 's#/meta$##' | sort -u | head
exit 1
fi
RUN_DIR="${RUNS_ROOT}/viz_$(date +%Y%m%d_%H%M%S)"
mkdir -p "${RUN_DIR}/logs" "${RUN_DIR}/viz_state"
ln -sfn "${RUN_DIR}" "${RUNS_ROOT}/.latest"
步骤 2 — 启动可视化器
"${REPO_ROOT}/workflows/agentic/dataset/viz.sh" "${DATASET_DIR}" \
--state-dir "${RUN_DIR}/viz_state" \
2>&1 | tee "${RUN_DIR}/logs/viz.log"
备注
- 数据集路径必须是绝对路径。
viz.sh会将相对路径视为 Hugging Face 仓库 ID,并在~/.cache/huggingface/lerobot/<path>下查找它们。 - 仅当调用方提供
--state-dir时才覆盖它。
验证
- 可视化器会打印一个本地 URL(例如
http://127.0.0.1:9090/)。 - 视频和关节时间线会在浏览器中加载。
前提条件
- 通过 [[i4h-workflow-setup]] 完成工作流设置(必须存在
.venv)。 - 一个已转换的 LeRobot 数据集目录,包含
meta/info.json(参见 [[i4h-workflow-dataset-convert]])。 - 指向该数据集目录的绝对路径。
限制
- 输入必须是已转换的 LeRobot 数据集目录,且包含
meta/info.json;用于转换后或视频增强后的视觉检查。 - 数据集路径必须是绝对路径;
viz.sh会将相对路径视为 Hugging Face 仓库 ID,并在~/.cache/huggingface/lerobot/<path>下查找它们。 - 仅当调用方提供
--state-dir时才覆盖它。
故障排除
- 错误: 未找到
.venv/ 模块导入失败 — 原因:工作流未设置。修复:先运行 [[i4h-workflow-setup]]。 - 错误: 数据集被解析为 Hugging Face 仓库 ID / 找不到 — 原因:传入了相对数据集路径。修复:传入数据集目录的绝对路径。
- 错误: 没有
meta/info.json— 原因:该目录不是已转换的 LeRobot 数据集。修复:先使用 [[i4h-workflow-dataset-convert]] 进行转换。 - 错误: 地址/端口已被占用 — 原因:已有可视化器在该本地 URL 上提供服务。修复:在启动新可视化器之前停止现有进程。
最终响应
报告数据集路径、可视化器 URL、停止命令以及启动失败原因。