Skip to content

Learning

Train a conditional flow-matching (CFM) policy on OopsieVerse paper-experiment tasks.

Paper tasks

Task Simulator Description Teleop demos
shelve_item BEHAVIOR-1K Shelve an item among fragile objects (mechanical) 45 without + 45 with live feedback (90 total)
add_firewood BEHAVIOR-1K Place firewood in the fireplace (mechanical + thermal) 30 without + 30 with live feedback (60 total)
pick_egg RoboCasa Pick up an egg without crushing it (mechanical) 30 without + 30 with live feedback (60 total)
wipe_counter RoboCasa Wipe dirt on the counter with a sponge (mechanical) 30 without + 30 with live feedback (60 total)

Download the teleop splits with:

python scripts/download_demos.py --paper-demos

They land in oopsiebench/demos/paper_demos/teleop_data/<task>/ (without_live_feedback.hdf5, with_live_feedback.hdf5, all_data.hdf5).

Playback before training

CFM training expects playback HDF5s (observations, health, cameras), not raw teleop state dumps. After downloading paper demos, run playback for the split you want to train on, then point the config data_path at that playback file (see Quickstart for playback commands).

Train

python -m learning.train_eval.cfm_trainer --config learning/configs/add_firewood.yaml
python -m learning.train_eval.cfm_trainer --config learning/configs/shelve_item.yaml
python -m learning.train_eval.cfm_trainer --config learning/configs/pick_egg.yaml
python -m learning.train_eval.cfm_trainer --config learning/configs/wipe_counter.yaml

Configs live under learning/configs/. Override fields on the CLI if needed (for example --device cuda or --data-path path/to/playback.hdf5).