|
|
#!/bin/bash -x |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
export HF_HOME=/mnt/beegfs/dzhu6/.cache |
|
|
|
|
|
eval "$(/home/dzhu6/miniconda3/bin/conda shell.bash hook)" |
|
|
export CUDA_VISIBLE_DEVICES=0,1,2,3 |
|
|
export MASTER_PORT=12784 |
|
|
|
|
|
master_addr=$(scontrol show hostnames "$SLURM_JOB_NODELIST" | head -n 1) |
|
|
export MASTER_ADDR=$master_addr |
|
|
|
|
|
conda activate grounded-rl |
|
|
|
|
|
datadirs=( |
|
|
"/mnt/beegfs/dzhu6/SpatialEval/outputs/images" |
|
|
|
|
|
) |
|
|
script_paths=( |
|
|
"SpatialEval" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
) |
|
|
|
|
|
model_name=ViLaSR-cold-start |
|
|
CKPT=../ViLaSR-cold-start |
|
|
MODE=cold-start |
|
|
|
|
|
model_name=ViLaSR |
|
|
CKPT=../ViLaSR |
|
|
MODE=rl |
|
|
|
|
|
|
|
|
for ((i=0; i<${#script_paths[@]}; i++)); do |
|
|
QUESTION_FILE=${script_paths[i]} |
|
|
IMAGE_FOLDER=${datadirs[i]} |
|
|
|
|
|
if [ -z "$IMAGE_FOLDER" ]; then |
|
|
echo "Warning: No image folder defined for $QUESTION_FILE. Skipping..." |
|
|
continue |
|
|
fi |
|
|
|
|
|
RESULTDIR=./eval/results/$MODE-vscan-toolonly-resize/${script_paths[i]}/ |
|
|
mkdir -p $RESULTDIR |
|
|
|
|
|
ALL=4 |
|
|
for gpu in $(seq 0 $(($ALL - 1))); do |
|
|
echo "****** GPU ${gpu} ${QUESTION_FILE}--${IMAGE_FOLDER} ******" |
|
|
CUDA_VISIBLE_DEVICES=$gpu srun --cpu_bind=v --accel-bind=gn --exclusive --ntasks=1 --ntasks-per-node=1 --output=${model_name}_prune_${QUESTION_FILE}_rank${gpu}_all${ALL}.log \ |
|
|
python eval/infer_multi.py \ |
|
|
--model-path $CKPT \ |
|
|
--model-name ${model_name} \ |
|
|
--dataset ${script_paths[i]} \ |
|
|
--input-file $IMAGE_FOLDER/${QUESTION_FILE}.json \ |
|
|
--image-folder $IMAGE_FOLDER \ |
|
|
--output-dir $RESULTDIR \ |
|
|
--temperature 0.75 \ |
|
|
--max-frames 16 \ |
|
|
--max-pixels 351232 \ |
|
|
--resize \ |
|
|
--prune vscan-toolonly \ |
|
|
--split ${gpu} --all ${ALL} & |
|
|
sleep 2 |
|
|
done |
|
|
wait |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
done |