# evaluate an epoch | |
# generate subscores for grid search: epochxx.pkl | |
# generate a temp PDM score for choosing the best epoch | |
agent=hydra_pe_temporal; | |
agent_ckpt=hydra_pe_temporal_vov_fixedpading_pe_temporal_modifyself_bs8x8_ckpt; | |
# 1. rename ckpts | |
cd ${NAVSIM_EXP_ROOT}/$agent_ckpt; | |
for file in epoch=*-step=*.ckpt; do | |
epoch=$(echo $file | sed -n 's/.*epoch=\([0-9][0-9]\).*/\1/p') | |
new_filename="epoch${epoch}.ckpt" | |
mv "$file" "$new_filename" | |
done | |
cd /navsim_ours; | |
# 2. eval | |
epochs=(0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24); | |
ckpts=( | |
epoch00.ckpt epoch01.ckpt epoch02.ckpt epoch03.ckpt epoch04.ckpt epoch05.ckpt epoch06.ckpt epoch07.ckpt epoch08.ckpt epoch09.ckpt | |
epoch10.ckpt epoch11.ckpt epoch12.ckpt epoch13.ckpt epoch14.ckpt epoch15.ckpt epoch16.ckpt epoch17.ckpt epoch18.ckpt epoch19.ckpt | |
epoch20.ckpt epoch21.ckpt epoch22.ckpt epoch23.ckpt epoch24.ckpt | |
) | |
for i in {0..19}; do | |
python ${NAVSIM_DEVKIT_ROOT}/navsim/planning/script/run_pdm_score_gpu.py \ | |
+use_pdm_closed=false \ | |
agent=$agent \ | |
dataloader.params.batch_size=8 \ | |
worker.threads_per_node=64 \ | |
agent.checkpoint_path=${NAVSIM_EXP_ROOT}/${agent_ckpt}/${ckpts[$i]} \ | |
experiment_name=${agent_ckpt}/${epochs[$i]}_xformers \ | |
+cache_path=null \ | |
metric_cache_path=${NAVSIM_EXP_ROOT}/navtest_cache \ | |
split=test \ | |
scene_filter=navtest; | |
done | |
# display scores | |
for epoch in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19; do | |
echo ===================${epoch}=================== | |
cat $(find ./${epoch}_xformers/ -type f -name "*.csv") "end" | tail -n 1 | |
done | |