#!/bin/bash gpu_list="${CUDA_VISIBLE_DEVICES:-0}" IFS=',' read -ra GPULIST <<< "$gpu_list" CHUNKS=${#GPULIST[@]} CKPT="llavaPhi-v0-3b-finetune" SPLIT="llava_vqav2_mscoco_test-dev2015" for IDX in $(seq 0 $((CHUNKS-1))); do CUDA_VISIBLE_DEVICES=${GPULIST[$IDX]} python -m llava_phi.eval.model_vqa_loader \ --model-path ./checkpoints/llavaPhi-v0-3b-finetune \ --question-file ./playground/data/eval/vqav2/$SPLIT.jsonl \ --image-folder /path/to/data/coco/test2015 \ --answers-file ./playground/data/eval/vqav2/answers/$SPLIT/$CKPT/${CHUNKS}_${IDX}.jsonl \ --num-chunks $CHUNKS \ --chunk-idx $IDX \ --temperature 0 \ --conv-mode phi-2_v0 & done wait output_file=./playground/data/eval/vqav2/answers/$SPLIT/$CKPT/merge.jsonl # Clear out the output file if it exists. > "$output_file" # Loop through the indices and concatenate each file. for IDX in $(seq 0 $((CHUNKS-1))); do cat ./playground/data/eval/vqav2/answers/$SPLIT/$CKPT/${CHUNKS}_${IDX}.jsonl >> "$output_file" done python scripts/convert_vqav2_for_submission.py --split $SPLIT --ckpt $CKPT