We evaluate our skill models on CALVIN dataset.
Download CALVIN dataset and put it here.
python3 scripts/agent_eval.py
skill=calvin_open_drawer
agent=gmm_calvin
env=calvin_scene_D
show_gui=true
env.calvin_env.env.show_gui=true
env.calvin_env.env.use_egl=false
num_eval_episodes=5
num_eval_seeds=1
SACGMM_STEP_DELAY=0.1 python3 scripts/agent_eval.py
skill=calvin_open_drawer
agent=gmm_calvin
env=calvin_scene_D
show_gui=true
env.calvin_env.env.show_gui=true
env.calvin_env.env.use_egl=false
num_eval_episodes=20
num_eval_seeds=3
SACGMM_STEP_DELAY=0.05 python3 scripts/agent_eval_record.py
skill=calvin_open_drawer
agent=gmm_calvin
env=calvin_scene_D
show_gui=true
env.calvin_env.env.show_gui=true
env.calvin_env.env.use_egl=false
num_eval_episodes=20
num_eval_seeds=3
SACGMM_STEP_DELAY=0.1 python3 scripts/agent_eval.py
skill=calvin_open_drawer
agent=sac_gmm_calvin
env=calvin_scene_D
chk_dir=”$(pwd)/checkpoints/sac_gmm_open_drawer_best.ckpt”
show_gui=true
env.calvin_env.env.show_gui=true
env.calvin_env.env.use_egl=false
num_eval_episodes=20
num_eval_seeds=3
SACGMM_STEP_DELAY=0.05 python3 scripts/agent_eval_record.py
skill=calvin_open_drawer
agent=sac_gmm_calvin
env=calvin_scene_D
chk_dir=”$(pwd)/checkpoints/sac_gmm_open_drawer_best.ckpt”
show_gui=true
env.calvin_env.env.show_gui=true
env.calvin_env.env.use_egl=false
num_eval_episodes=20
num_eval_seeds=3
SACGMM_STEP_DELAY=0.1 python3 scripts/gmm_ppo/gmm_ppo_eval.py
–model checkpoints/gmm_ppo_open_drawer_best.zip
–skill calvin_open_drawer
–env calvin_scene_D
–num_episodes 20
–num_seeds 3
–show_gui
–record_video
python3 scripts/sac_sb3_eval.py
–model checkpoints/sac_sb3_open_drawer_best.zip
–skill calvin_open_drawer
–env calvin_scene_D
–num_episodes 5
–show_gui
–record_video
–step_delay 0.1
1) GMM+SAC (baseline 0.05)
SACGMM_STEP_DELAY=0.05 python3 scripts/agent_eval_record.py
skill=calvin_open_drawer
agent=sac_gmm_calvin
env=calvin_scene_D
chk_dir=”$(pwd)/checkpoints/gmm_sac_open_drawer_ee0.05_best-return10_20260625.ckpt”
show_gui=true
env.calvin_env.env.show_gui=true
env.calvin_env.env.use_egl=false
num_eval_episodes=20
num_eval_seeds=3
2) GMM+PPO (baseline 0.05)
Ojo: PPO usa otro script (gmm_ppo_eval.py, con flags –, no Hydra). Incluyo los params 16/4/0.03 para que la inferencia coincida con cómo se entrenó:
python3 scripts/gmm_ppo/gmm_ppo_eval.py
–model “$(pwd)/checkpoints/gmm_ppo_open_drawer_ee0.05_best_20260625.zip”
–skill calvin_open_drawer
–env calvin_scene_D
–num_episodes 20
–num_seeds 3
–seed 42
–n_inner_steps 16
–max_outer_steps 4
–mu_change_range 0.03
–show_gui
–record_video
–step_delay 0.05
GMM+SAC A1:
SACGMM_STEP_DELAY=0.05 python3 scripts/agent_eval_record.py
skill=calvin_open_drawer
agent=sac_gmm_calvin
env=calvin_scene_D_A1dense
chk_dir=”$(pwd)/checkpoints/A1-dense-reward/gmm_sac_open_drawer_A1dense_best-return17.11_20260703.ckpt”
show_gui=true
env.calvin_env.env.show_gui=true
env.calvin_env.env.use_egl=false
num_eval_episodes=20
num_eval_seeds=3
GMM+PPO A1:
python3 scripts/gmm_ppo/gmm_ppo_eval.py
–model “$(pwd)/checkpoints/A1-dense-reward/gmm_ppo_open_drawer_A1dense_best_20260703.zip”
–skill calvin_open_drawer
–env calvin_scene_D_A1dense
–num_episodes 20
–num_seeds 3
–seed 42
–n_inner_steps 16
–max_outer_steps 4
–mu_change_range 0.03
–show_gui
–record_video
–step_delay 0.05