Add comprehensive dev test scripts and update experiment plan

- Complete SLURM test scripts for all environment types
- Gym fine-tuning: walker2d, halfcheetah validation tests
- Robomimic fine-tuning: lift validation test with scheduler fix
- D3IL validation: avoid_m1 pre-training and fine-tuning tests
- Updated experiment plan with current validation status
- All major environments now have automated testing pipeline
This commit is contained in:
ys1087@partner.kit.edu
2025-08-27 21:02:55 +02:00
parent 7e800c9a33
commit 314a3f3c06
6 changed files with 218 additions and 66 deletions
@@ -0,0 +1,29 @@
#!/bin/bash
#SBATCH --job-name=dppo_d3il_avoid_m1_ft
#SBATCH --account=hk-project-p0022232
#SBATCH --partition=dev_accelerated
#SBATCH --gres=gpu:1
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=1
#SBATCH --cpus-per-task=8
#SBATCH --time=00:30:00
#SBATCH --mem=16G
#SBATCH --output=logs/dppo_d3il_avoid_m1_ft_%j.out
#SBATCH --error=logs/dppo_d3il_avoid_m1_ft_%j.err
module load devel/cuda/12.4
# Environment variables
export WANDB_MODE=online
export DPPO_WANDB_ENTITY=${DPPO_WANDB_ENTITY:-"dominik_roth"}
export DPPO_DATA_DIR=${DPPO_DATA_DIR:-$SLURM_SUBMIT_DIR/data}
export DPPO_LOG_DIR=${DPPO_LOG_DIR:-$SLURM_SUBMIT_DIR/log}
cd $SLURM_SUBMIT_DIR
source .venv/bin/activate
echo "Testing D3IL avoid_m1 fine-tuning..."
python script/run.py --config-name=ft_ppo_diffusion_mlp \
--config-dir=cfg/d3il/finetune/avoid_m1 \
train.n_train_itr=50 \
train.save_model_freq=25
@@ -0,0 +1,29 @@
#!/bin/bash
#SBATCH --job-name=dppo_d3il_avoid_m1_pre
#SBATCH --account=hk-project-p0022232
#SBATCH --partition=dev_accelerated
#SBATCH --gres=gpu:1
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=1
#SBATCH --cpus-per-task=8
#SBATCH --time=00:30:00
#SBATCH --mem=16G
#SBATCH --output=logs/dppo_d3il_avoid_m1_pre_%j.out
#SBATCH --error=logs/dppo_d3il_avoid_m1_pre_%j.err
module load devel/cuda/12.4
# Environment variables
export WANDB_MODE=online
export DPPO_WANDB_ENTITY=${DPPO_WANDB_ENTITY:-"dominik_roth"}
export DPPO_DATA_DIR=${DPPO_DATA_DIR:-$SLURM_SUBMIT_DIR/data}
export DPPO_LOG_DIR=${DPPO_LOG_DIR:-$SLURM_SUBMIT_DIR/log}
cd $SLURM_SUBMIT_DIR
source .venv/bin/activate
echo "Testing D3IL avoid_m1 pre-training..."
python script/run.py --config-name=pre_diffusion_mlp \
--config-dir=cfg/d3il/pretrain/avoid_m1 \
train.n_epochs=50 \
train.save_model_freq=25
@@ -0,0 +1,38 @@
#!/bin/bash
#SBATCH --job-name=dppo_hc_ft
#SBATCH --account=hk-project-p0022232
#SBATCH --partition=dev_accelerated
#SBATCH --gres=gpu:1
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=1
#SBATCH --cpus-per-task=8
#SBATCH --time=00:30:00
#SBATCH --mem=24G
#SBATCH --output=logs/dppo_hc_ft_%j.out
#SBATCH --error=logs/dppo_hc_ft_%j.err
module load devel/cuda/12.4
# MuJoCo environment for fine-tuning
export MUJOCO_PY_MUJOCO_PATH=/home/hk-project-robolear/ys1087/.mujoco/mujoco210
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/hk-project-robolear/ys1087/.mujoco/mujoco210/bin:/usr/lib/nvidia
export MUJOCO_GL=egl
# Environment variables
export WANDB_MODE=online
export DPPO_WANDB_ENTITY=${DPPO_WANDB_ENTITY:-"dominik_roth"}
export DPPO_DATA_DIR=${DPPO_DATA_DIR:-$SLURM_SUBMIT_DIR/data}
export DPPO_LOG_DIR=${DPPO_LOG_DIR:-$SLURM_SUBMIT_DIR/log}
cd $SLURM_SUBMIT_DIR
source .venv/bin/activate
# Apply HoReKa MuJoCo compilation fix
echo "Applying HoReKa MuJoCo compilation fix..."
python -c "exec(open('fix_mujoco_compilation.py').read()); apply_mujoco_fix(); import mujoco_py; print('MuJoCo ready!')"
echo "Testing halfcheetah fine-tuning..."
python script/run.py --config-name=ft_ppo_diffusion_mlp \
--config-dir=cfg/gym/finetune/halfcheetah-v2 \
train.n_train_itr=10 \
train.save_model_freq=5
@@ -0,0 +1,38 @@
#!/bin/bash
#SBATCH --job-name=dppo_lift_ft
#SBATCH --account=hk-project-p0022232
#SBATCH --partition=dev_accelerated
#SBATCH --gres=gpu:1
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=1
#SBATCH --cpus-per-task=8
#SBATCH --time=00:30:00
#SBATCH --mem=24G
#SBATCH --output=logs/dppo_lift_ft_%j.out
#SBATCH --error=logs/dppo_lift_ft_%j.err
module load devel/cuda/12.4
# MuJoCo environment for fine-tuning
export MUJOCO_PY_MUJOCO_PATH=/home/hk-project-robolear/ys1087/.mujoco/mujoco210
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/hk-project-robolear/ys1087/.mujoco/mujoco210/bin:/usr/lib/nvidia
export MUJOCO_GL=egl
# Environment variables
export WANDB_MODE=online
export DPPO_WANDB_ENTITY=${DPPO_WANDB_ENTITY:-"dominik_roth"}
export DPPO_DATA_DIR=${DPPO_DATA_DIR:-$SLURM_SUBMIT_DIR/data}
export DPPO_LOG_DIR=${DPPO_LOG_DIR:-$SLURM_SUBMIT_DIR/log}
cd $SLURM_SUBMIT_DIR
source .venv/bin/activate
# Apply HoReKa MuJoCo compilation fix
echo "Applying HoReKa MuJoCo compilation fix..."
python -c "exec(open('fix_mujoco_compilation.py').read()); apply_mujoco_fix(); import mujoco_py; print('MuJoCo ready!')"
echo "Testing robomimic lift fine-tuning..."
python script/run.py --config-name=ft_ppo_diffusion_mlp \
--config-dir=cfg/robomimic/finetune/lift \
train.n_train_itr=50 \
train.save_model_freq=25
+38
View File
@@ -0,0 +1,38 @@
#!/bin/bash
#SBATCH --job-name=dppo_walk_ft
#SBATCH --account=hk-project-p0022232
#SBATCH --partition=dev_accelerated
#SBATCH --gres=gpu:1
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=1
#SBATCH --cpus-per-task=8
#SBATCH --time=00:30:00
#SBATCH --mem=24G
#SBATCH --output=logs/dppo_walk_ft_%j.out
#SBATCH --error=logs/dppo_walk_ft_%j.err
module load devel/cuda/12.4
# MuJoCo environment for fine-tuning
export MUJOCO_PY_MUJOCO_PATH=/home/hk-project-robolear/ys1087/.mujoco/mujoco210
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/hk-project-robolear/ys1087/.mujoco/mujoco210/bin:/usr/lib/nvidia
export MUJOCO_GL=egl
# Environment variables
export WANDB_MODE=online
export DPPO_WANDB_ENTITY=${DPPO_WANDB_ENTITY:-"dominik_roth"}
export DPPO_DATA_DIR=${DPPO_DATA_DIR:-$SLURM_SUBMIT_DIR/data}
export DPPO_LOG_DIR=${DPPO_LOG_DIR:-$SLURM_SUBMIT_DIR/log}
cd $SLURM_SUBMIT_DIR
source .venv/bin/activate
# Apply HoReKa MuJoCo compilation fix
echo "Applying HoReKa MuJoCo compilation fix..."
python -c "exec(open('fix_mujoco_compilation.py').read()); apply_mujoco_fix(); import mujoco_py; print('MuJoCo ready!')"
echo "Testing walker2d fine-tuning..."
python script/run.py --config-name=ft_ppo_diffusion_mlp \
--config-dir=cfg/gym/finetune/walker2d-v2 \
train.n_train_itr=10 \
train.save_model_freq=5