PolyFormer / run_scripts /evaluation /evaluate_polyformer_b_refcoco+.sh
jiang
init commit
650c5f6
#!/bin/bash
# The port for communication. Note that if you want to run multiple tasks on the same machine,
# you need to specify different port numbers.
export MASTER_PORT=6092
export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7
export GPUS_PER_NODE=8
########################## Evaluate Refcoco+ ##########################
user_dir=../../polyformer_module
bpe_dir=../../utils/BPE
selected_cols=0,5,6,2,4,3
model='polyformer_b'
num_bins=64
batch_size=16
dataset='refcoco+'
ckpt_path=../../weights/polyformer_b_refcoco+.pt
for split in 'refcoco+_val' 'refcoco+_testA' 'refcoco+_testB'
do
data=../../datasets/finetune/${dataset}/${split}.tsv
result_path=../../results_${model}/${dataset}/
vis_dir=${result_path}/vis/${split}
result_dir=${result_path}/result/${split}
python3 -m torch.distributed.launch --nproc_per_node=${GPUS_PER_NODE} --master_port=${MASTER_PORT} ../../evaluate.py \
${data} \
--path=${ckpt_path} \
--user-dir=${user_dir} \
--task=refcoco \
--batch-size=${batch_size} \
--log-format=simple --log-interval=10 \
--seed=7 \
--gen-subset=${split} \
--results-path=${result_path} \
--no-repeat-ngram-size=3 \
--fp16 \
--num-workers=0 \
--num-bins=${num_bins} \
--vis_dir=${vis_dir} \
--result_dir=${result_dir} \
--model-overrides="{\"data\":\"${data}\",\"bpe_dir\":\"${bpe_dir}\",\"selected_cols\":\"${selected_cols}\"}"
done