i4h-workflow-e2e

Par nvidia · skills

Exécute le pipeline agentique complet de bout en bout (record → mimic → annotate → replay → convert → visualize → finetune → validate). À utiliser lorsqu'on demande d'exécuter l'ensemble du pipeline ou de réaliser un run e2e, smoke ou demo.

npx skills add https://github.com/nvidia/skills --skill i4h-workflow-e2e

Workflow i4h — Bout en Bout

Objectif

Exécuter le pipeline agentic complet (enregistrement, mimétisme, annotation/filtrage, relecture, conversion, visualisation, fine-tuning, validation). À utiliser quand l'utilisateur demande d'exécuter le pipeline complet, de tester l'ensemble du workflow, de démontrer le workflow, ou de faire un run e2e.

Code de Base

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 ne se produit). 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 :

# Résoudre le code de base i4h-workflows (fournit 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"

Principes Fondamentaux

  • Config env (source de vérité) : workflows/agentic/config/environments/<env>.yaml — pilote chaque étape pour <env> (robot, tâche, policy, caméras, arena.max_timesteps, mappages dataset.*).
  • Utilisez le script e2e pour les runs de pipeline complet.
  • Pour un travail par étape, utilisez les skills dataset/finetune/validate correspondants.
  • assemble_trocar est inference-only ; le script e2e saute fine-tuning et validation de checkpoint pour celui-ci.

Dry Run

REPO_ROOT="${I4H_WORKFLOWS:-$(git rev-parse --show-toplevel 2>/dev/null)}"; [ -d "$REPO_ROOT/workflows/agentic" ] || REPO_ROOT="$HOME/i4h-workflows"
"${REPO_ROOT}/workflows/agentic/scripts/e2e/run.sh" --dry-run --env <env>

Exécuter

Exécutez les étapes ci-dessous dans l'ordre. Chaque étape est un appel bash distinct ; les variables persistent dans la session tmux de l'agent local.

Pour Claude Code --print ou tout autre runner non interactif, maintenez l'Étape 2 au premier plan. C'est une exigence de validation : n'utilisez pas les tâches en arrière-plan Claude, le mode tâche async, le mode arrière-plan Bash, &, nohup, tmux, disown, ou tout processus/ID de tâche détaché, et ne déclarez pas que le pipeline est encore en cours. N'effectuez un retour que quand run.sh se termine et après avoir inspecté logs/SUMMARY.txt en cas de succès, ou le log de l'étape défaillante en cas d'échec. Signalez le répertoire run, les étapes ignorées, le statut par étape, les artefacts clés, et le statut de nettoyage/arrêt avant de finir.

Étape 1 — setup

REPO_ROOT="${I4H_WORKFLOWS:-$(git rev-parse --show-toplevel 2>/dev/null)}"; [ -d "$REPO_ROOT/workflows/agentic" ] || REPO_ROOT="$HOME/i4h-workflows"

Étape 2 — pipeline e2e

"${REPO_ROOT}/workflows/agentic/scripts/e2e/run.sh" --env <env>

Drapeaux

  • --skip-mimic, --skip-annotate, --skip-replay, --skip-viz
  • --from-stage <stage> --run-dir <existing-run> reprend à partir d'un run antérieur.
  • Les étapes record/verify de policy ouvrent la fenêtre sim par défaut. Définissez ARENA_HEADLESS=1 avant run.sh uniquement quand l'utilisateur demande explicitement une exécution sans interface/sans fenêtre.

Étapes : setup record mimic annotate replay convert viz finetune validate summary.

Sorties

Le script affiche RUN_DIR et le symlinke vers runs/.latest. Sous-répertoires :

  • logs/ — logs par étape, workflow.log (sortie complète tee) et logs/SUMMARY.txt (rapport de synthèse final)
  • data/
  • lerobot/
  • checkpoint/ (envs trainable uniquement)

Surveillance

run.sh exécute chaque étape au premier plan et ne revient que quand tout le pipeline se termine, donc suivez un long run depuis un shell séparé (ne vous attendez pas à l'interroger depuis le shell qui l'a lancé) :

tail -f "${REPO_ROOT}/workflows/agentic/runs/.latest/logs/workflow.log"   # progression live par étape
cat    "${REPO_ROOT}/workflows/agentic/runs/.latest/logs/SUMMARY.txt"     # rapport final (une fois DONE)

Arrêter

Étape 3 — stop (si nécessaire)

"${REPO_ROOT}/workflows/agentic/stop.sh" all --env <env>

Prérequis

  • Workflow configuré via [[i4h-workflow-setup]] (le .venv doit exister) ; setup est aussi la première étape du pipeline.
  • Un nom --env valide pour piloter le run.
  • Pour un travail par étape, utilisez plutôt les skills dataset/finetune/validate correspondants.

Limitations

  • assemble_trocar est inference-only ; le script e2e saute fine-tuning et validation de checkpoint pour celui-ci.
  • Les sorties checkpoint/ sont produites pour les envs trainable uniquement.
  • La reprise nécessite --from-stage <stage> et --run-dir <existing-run>.

Dépannage

  • Erreur : .venv introuvable / import de module échoue - Cause : workflow non configuré. Solution : exécutez d'abord [[i4h-workflow-setup]].
  • Erreur : env non reconnu - Cause : nom --env incorrect. Solution : passez un nom env valide ; lancez d'abord un dry-run avec --dry-run --env <env>.
  • Erreur : la reprise échoue à trouver les sorties antérieures - Cause : --from-stage utilisé sans --run-dir correspondant. Solution : passez --from-stage <stage> --run-dir <existing-run>.
  • Erreur : les processus périmés bloquent un rerun - Cause : une session précédente du pipeline est encore en cours. Solution : exécutez stop.sh all --env <env> avant de réessayer.

Réponse Finale

Signalez env, répertoire run, étapes ignorées, succès/échec par étape, chemins d'artefacts clés.

Skills similaires