Evaluation
June 29, 2026 ยท View on GitHub
We evaluate CDPruner with different LLaVA models on a diverse set of 10 benchmarks. To ensure the reproducibility, we evaluate the models with greedy decoding following the originial LLaVA.
Scripts
Before preparing task-specific data, you MUST first download eval.zip. It contains custom annotations, scripts, and the prediction files with vanilla LLaVA-1.5. Extract it to ./playground/data/eval. This also provides a general structure for all datasets.
VQAv2
- Download
test2015and put it under./playground/data/eval/vqav2. - Multi-GPU inference.
CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 bash scripts/v1_5/eval/vqav2.sh
- Submit the results to the evaluation server:
./playground/data/eval/vqav2/answers_upload.
GQA
- Download the data and evaluation scripts following the official instructions and put under
./playground/data/eval/gqa/data. You may need to modifyeval.pyas this due to the missing assets in the GQA v1.2 release. - Multi-GPU inference.
CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 bash scripts/v1_5/eval/gqa.sh
VizWiz
- Download
test.jsonand extracttest.ziptotest. Put them under./playground/data/eval/vizwiz. - Single-GPU inference.
CUDA_VISIBLE_DEVICES=0 bash scripts/v1_5/eval/vizwiz.sh
- Submit the results to the evaluation server:
./playground/data/eval/vizwiz/answers_upload.
VizWiz (Local Validation)
Since the official evaluation server is closed, you can perform local evaluation on the validation set.
- Download validation images: Extract
val.ziptoval. Put it under./playground/data/eval/vizwiz. - Download validation annotations: Extract
val.jsonto./playground/data/eval/vizwiz. - Run local evaluation:
CUDA_VISIBLE_DEVICES=0 bash scripts/v1_5/eval/vizwiz_val.sh
ScienceQA
- Under
./playground/data/eval/scienceqa, downloadimages,pid_splits.json,problems.jsonfrom thedata/scienceqafolder of the ScienceQA repo. - Single-GPU inference and evaluate.
CUDA_VISIBLE_DEVICES=0 bash scripts/v1_5/eval/sqa.sh
TextVQA
- Download
TextVQA_0.5.1_val.jsonand images and extract to./playground/data/eval/textvqa. - Single-GPU inference and evaluate.
CUDA_VISIBLE_DEVICES=0 bash scripts/v1_5/eval/textvqa.sh
POPE
- Download
cocofrom POPE and put under./playground/data/eval/pope. - Download
val2014images, extract them, and put theval2014folder under./playground/data/eval/pope. - Single-GPU inference and evaluate.
CUDA_VISIBLE_DEVICES=0 bash scripts/v1_5/eval/pope.sh
MME
- Download the data following the official instructions here.
- Downloaded images to
MME_Benchmark_release_version. - put the official
eval_toolandMME_Benchmark_release_versionunder./playground/data/eval/MME. - Single-GPU inference and evaluate.
CUDA_VISIBLE_DEVICES=0 bash scripts/v1_5/eval/mme.sh
MMBench
- Download
mmbench_dev_20230712.tsvand put under./playground/data/eval/mmbench. - Single-GPU inference.
CUDA_VISIBLE_DEVICES=0 bash scripts/v1_5/eval/mmbench.sh
- Submit the results to the evaluation server:
./playground/data/eval/mmbench/answers_upload/mmbench_dev_20230712.
MMBench-CN
- Download
mmbench_dev_cn_20231003.tsvand put under./playground/data/eval/mmbench. - Single-GPU inference.
CUDA_VISIBLE_DEVICES=0 bash scripts/v1_5/eval/mmbench_cn.sh
- Submit the results to the evaluation server:
./playground/data/eval/mmbench/answers_upload/mmbench_dev_cn_20231003.
MM-Vet
- Extract
mm-vet.zipto./playground/data/eval/mmvet. - Single-GPU inference.
CUDA_VISIBLE_DEVICES=0 bash scripts/v1_5/eval/mmvet.sh
- Submit the results to the evaluation server:
./playground/data/eval/mm-vet/results.
Scripts with LLaVA-NeXT (LLaVA-1.6)
To evaluate CDPruner with LLaVA-NeXT, you just need to replace the v1_5 with v1_6 in the shell scripts. For example, to evaluate VQAv2 with LLaVA-NeXT, you can run:
CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 bash scripts/v1_6/eval/vqav2.sh