|
#!/bin/bash |
|
|
|
gpu_list="${CUDA_VISIBLE_DEVICES:-0}" |
|
IFS=',' read -ra GPULIST <<< "$gpu_list" |
|
|
|
CHUNKS=${#GPULIST[@]} |
|
|
|
SPLIT="llava_gqa_testdev_balanced" |
|
GQADIR="/home/ai/data/llava/dataset/eval/gqa" |
|
|
|
MODEL_PATH="/mnt/data/sata/yinghu/checkpoints/llava_factory/tiny-llava-phi-2-siglip-so400m-patch14-384-base-finetune/" |
|
MODEL_NAME="tiny-llava-phi-2-siglip-so400m-patch14-384-base-finetune" |
|
EVAL_DIR="/home/ai/data/llava/dataset/eval" |
|
|
|
for IDX in $(seq 0 $((CHUNKS-1))); do |
|
CUDA_VISIBLE_DEVICES=${GPULIST[$IDX]} python -m tinyllava.eval.model_vqa_loader \ |
|
--model-path $MODEL_PATH \ |
|
--question-file $EVAL_DIR/gqa/$SPLIT.jsonl \ |
|
--image-folder $EVAL_DIR/gqa/images \ |
|
--answers-file $EVAL_DIR/gqa/answers/$SPLIT/$MODEL_NAME/${CHUNKS}_${IDX}.jsonl \ |
|
--num-chunks $CHUNKS \ |
|
--chunk-idx $IDX \ |
|
--temperature 0 \ |
|
--conv-mode phi & |
|
done |
|
|
|
wait |
|
|
|
output_file=$EVAL_DIR/gqa/answers/$SPLIT/$MODEL_NAME/merge.jsonl |
|
|
|
|
|
> "$output_file" |
|
|
|
|
|
for IDX in $(seq 0 $((CHUNKS-1))); do |
|
cat $EVAL_DIR/gqa/answers/$SPLIT/$MODEL_NAME/${CHUNKS}_${IDX}.jsonl >> "$output_file" |
|
done |
|
|
|
python scripts/convert_gqa_for_eval.py --src $output_file --dst $GQADIR/testdev_balanced_predictions.json |
|
|
|
cd $GQADIR |
|
python eval/eval.py --tier testdev_balanced |
|
|
|
|