i4h-lerobot-viz について
i4h-lerobot-vizは、完成済みのローカルLeRobotデータセットをブラウザーで表示し、エピソード、動画、タイムライン、メタデータ、終了処理を確認するスキルです。データセットの検証に使えます。
主な機能
- 01完成済みLeRobotデータセットの特定
- 02管理対象のローカル可視化サーバー起動
- 03エピソード動画とタイムラインの確認
- 04メタデータと終了処理の確認
活用シーン
- 01変換済みデータセットのカメラ動画確認
- 02状態とアクションのタイムライン確認
- 03エピソード数とタスクメタデータの照合
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ nvidia/ skills --skill i4h-lerobot-vizインストール後、Claude Code で/i4h-lerobot-vizを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
BENCHMARK.mdskill-card.mdskill.oms.sigevals/evals.json詳細
LeRobot データセットを可視化する
目的
ローカルの完成済みデータセットを 1 つ配信し、ブラウザーでエピソードの動画とタイムラインを確認します。
手順
- ベースとなるチェックアウトと、完成済みの LeRobot データセットを 1 つ特定します。
- 管理対象のローカルサーバーを起動します。
- 表示された URL を開きます。
- 動画、タイムライン、エピソード数、クリーンアップ状態を確認します。
データセットを特定する
export I4H_WORKFLOWS_REPO_URL="${I4H_WORKFLOWS_REPO_URL:-https://github.com/isaac-for-healthcare/i4h-workflows}"
I4H_REPO_DIR_NAME="${I4H_WORKFLOWS_REPO_URL%/}"
I4H_REPO_DIR_NAME="${I4H_REPO_DIR_NAME##*/}"
I4H_REPO_DIR_NAME="${I4H_REPO_DIR_NAME##*:}"
I4H_REPO_DIR_NAME="${I4H_REPO_DIR_NAME%.git}"
[ -n "$I4H_REPO_DIR_NAME" ] || { echo "Cannot derive a checkout name from I4H_WORKFLOWS_REPO_URL" >&2; exit 2; }
ROOT="${I4H_WORKFLOWS:-$(git rev-parse --show-toplevel 2>/dev/null)}"
if [ ! -d "$ROOT/workflows/i4h_workflows" ]; then
ROOT="${I4H_WORKFLOWS:-$HOME/$I4H_REPO_DIR_NAME}"
[ -d "$ROOT/workflows/i4h_workflows" ] || git clone "$I4H_WORKFLOWS_REPO_URL" "$ROOT"
fi
export I4H_WORKFLOWS="$ROOT"
cd "$ROOT"
find runs "${HF_LEROBOT_HOME:-$HOME/.cache/huggingface/lerobot}" \
-name info.json -path '*/meta/*' -printf '%T@ %h\n' 2>/dev/null \
| sort -nr | head
上記のリゾルバーはスキルの契約の一部として扱ってください。ホストされたコピーはベースリポジトリの外で実行されることがあるため、現在のチェックアウトに workflows/i4h_workflows があるとは決して想定しないでください。I4H_WORKFLOWS_REPO_URL はクローン元を選択します。I4H_WORKFLOWS が未設定の場合は、その URL からフォールバック先のディレクトリを導出します。I4H_WORKFLOWS は、特定の保存先を再利用または選択する場合にのみ設定してください。既存のチェックアウトを置き換えないでください。
明示されたディレクトリ、または現在のチェーンの変換済みディレクトリを使用します。それ以外の場合は、最も新しい候補を選択し、その選択を明記してください。<dataset>/meta/info.json があることを必須とします。未加工の HDF5 は i4h-workflow-dataset-convert に回してください。
配信する
絶対パスを渡してください。
DATASET_DIR=/absolute/path/to/lerobot/dataset
STATE_DIR=/absolute/path/to/run/viz-state
tools/dataset/scripts/viz.sh "$DATASET_DIR" --state-dir "$STATE_DIR"
スクリプトは空いているローカルポートを選び、HTTP の準備完了を待ってから、URL、PID、状態ファイル、ログ、正確な停止コマンドを表示します。ユーザーがアクセスを希望している間だけ実行したままにしてください。
目視で確認する
表示された URL を開き、次の項目を確認してください。
- 要求されたエピソード一覧が読み込まれる
- 想定されるすべてのカメラ動画が表示される
- 状態とアクションのタイムラインが、妥当な寸法と動きで表示される
- エピソード数とタスクのテキストが
meta/info.jsonと一致する - 空白のページ、欠落した動画、または誤ったデータセットが配信されていない
対象のデータセットが一致する場合に限り、稼働中のサーバーを再利用してください。それ以外の場合は、表示された状態ディレクトリとポートを使ってサーバーを停止してから、要求されたデータセットを起動してください。
トラブルシューティング
起動またはページの表示に失敗した場合は、再起動する前に meta/info.json、動画、表示されたサーバーログ、ポートの使用状況を確認してください。
前提条件
データセット用ツール環境と、meta/info.json を含む完成済みの LeRobot データセットが必要です。
制限事項
このビジュアライザーは、未加工のワークフロー HDF5 を受け付けず、不完全なメタデータや動画も修復しません。
使用例
最新の変換済み LeRobot データセットを開いて確認してください。→ 検証済みの最新データセットを選択して配信し、確認した動画とタイムライン、およびクリーンアップコマンドを報告します。
完了条件
データセットのパス、リポジトリ ID、ローカル URL、エピソード/カメラ/タイムラインの確認結果、PID/状態ディレクトリ、正確なクリーンアップコマンドを報告してください。