2.2 KiB
Held-out Episode Validation Implementation Plan
For agentic workers: REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (
- [ ]) syntax for tracking.
Goal: Add optional held-out episode validation to main training flow, including explicit val episode selection and periodic action MSE evaluation without merging LEWM-only model features.
Architecture: Extend the generic dataset with optional episode filtering metadata, extend train config with explicit held-out validation knobs, and wire train_vla to choose between random split and explicit episode split. Reuse agent.predict_action_chunk for action MSE so the metric stays model-agnostic.
Tech Stack: Python, Hydra/OmegaConf, PyTorch, unittest
Task 1: Add failing tests for dataset episode filtering and config semantics
Files:
-
Modify:
tests/test_simple_robot_dataset_image_loading.py -
Modify:
tests/test_train_vla_rollout_validation.py -
Add dataset tests for
episode_indicesandavailable_episode_indices. -
Add training tests for explicit held-out episode splitting and fail-fast config validation.
-
Run focused tests and verify they fail for the expected missing behavior.
Task 2: Implement minimal dataset and training support
Files:
-
Modify:
roboimi/vla/data/simpe_robot_dataset.py -
Modify:
roboimi/vla/conf/config.yaml -
Modify:
roboimi/demos/vla_scripts/train_vla.py -
Add config keys
train.val_episode_indicesandtrain.action_mse_val_freq_epochs. -
Add optional dataset filtering by episode index plus
available_episode_indicesmetadata. -
Add explicit train/val dataset builder and held-out action MSE computation.
-
Log
val/action_mseonly when explicit held-out episode validation is configured.
Task 3: Verify focused coverage
Files:
-
Test:
tests/test_simple_robot_dataset_image_loading.py -
Test:
tests/test_train_vla_rollout_validation.py -
Test:
tests/test_train_vla_swanlab_logging.py -
Run focused unittest targets for dataset filtering, held-out MSE, and SwanLab logging.
-
Fix any regressions with minimal code changes.