i4h Workflow — LeRobot Viz
Purpose
Servir le visualiseur HTML de LeRobot pour un dataset converti dans un navigateur. À utiliser lorsque l'utilisateur demande de visualiser, inspecter ou ouvrir un dataset LeRobot.
Base Code
Ces étapes pilotent le code de base i4h-workflows (l'arborescence workflows/agentic/). Pour réutiliser un checkout existant, définissez I4H_WORKFLOWS sur son chemin (aucun clone n'a lieu). Sinon, cela résout le repo courant ou clone vers ~/i4h-workflows — choisissez cette valeur par défaut sans demander confirmation. Exécutez chaque commande ci-dessous depuis la racine résolue :
# 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"
Basics
- L'entrée est un répertoire de dataset LeRobot converti contenant
meta/info.json. - À utiliser pour des vérifications visuelles après conversion ou augmentation vidéo.
Run
Exécutez les étapes ci-dessous dans l'ordre. Chaque étape est un appel bash séparé ; les variables persistent dans la session tmux de l'agent local.
Step 1 — setup and resolve dataset
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\n' | 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\n' 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"
Step 2 — serve visualizer
"${REPO_ROOT}/workflows/agentic/dataset/viz.sh" "${DATASET_DIR}" \
--state-dir "${RUN_DIR}/viz_state" \
2>&1 | tee "${RUN_DIR}/logs/viz.log"
Notes
- Le chemin du dataset doit être absolu.
viz.shtraite les chemins relatifs comme des identifiants de repo Hugging Face et les recherche sous~/.cache/huggingface/lerobot/<path>. - Remplacez
--state-diruniquement quand l'appelant en fournit un.
Verify
- Le visualiseur affiche une URL locale (ex.
http://127.0.0.1:9090/). - Les vidéos et chronologies articulaires se chargent dans le navigateur.
Prerequisites
- Workflow configuré via [[i4h-workflow-setup]] (le
.venvdoit exister). - Un répertoire de dataset LeRobot converti contenant
meta/info.json(voir [[i4h-workflow-dataset-convert]]). - Un chemin absolu vers ce répertoire de dataset.
Limitations
- L'entrée doit être un répertoire de dataset LeRobot converti avec
meta/info.json; destinée aux vérifications visuelles après conversion ou augmentation vidéo. - Le chemin du dataset doit être absolu ;
viz.shtraite les chemins relatifs comme des identifiants de repo Hugging Face et les recherche sous~/.cache/huggingface/lerobot/<path>. - Remplacez
--state-diruniquement quand l'appelant en fournit un.
Troubleshooting
- Error:
.venvnot found / module import fails - Cause: workflow not set up. Fix: run [[i4h-workflow-setup]] first. - Error: dataset resolved as a Hugging Face repo id / not found - Cause: a relative dataset path was passed. Fix: pass the absolute path to the dataset directory.
- Error: no
meta/info.json- Cause: directory is not a converted LeRobot dataset. Fix: convert first with [[i4h-workflow-dataset-convert]]. - Error: address/port already in use - Cause: a visualizer is already serving that local URL. Fix: stop the existing process before starting a new one.
Final Response
Report dataset path, visualizer URL, stop command, startup failures.