VideoMend / eval /run_eval.sh
ZWJ666's picture
Upload folder using huggingface_hub
0dd9a1c verified
Raw History Blame Contribute Delete
3.54 kB
#!/bin/bash
# ================================================================
# DM-GRPO Final Evaluation Launcher
# ================================================================
# Usage:
# bash run_eval.sh # Run all models in the list
# bash run_eval.sh --gpus 0,1,2,3 # Specify GPUs
# bash run_eval.sh --benchmarks tempcompass # Specify benchmarks
# tmux new-session -d -s final_eval "bash /root/zwj/DM-GRPO/Eval/run_eval.sh --gpus 0,1,2,3"
# To add a new model: append to MODELS array below.
# Format: "model_path|file_name|nframes|rep_penalty"
# ================================================================
set -e
source /root/miniconda3/etc/profile.d/conda.sh
conda activate Video-R1
export DECORD_EOF_RETRY_MAX=20480
# ========================== Configuration ==========================
# Format: "model_path|file_name|nframes|rep_penalty"
# nframes: 16 or 32 (set to match training)
# rep_penalty: 1.0 (greedy) or 1.1 (with penalty)
MODELS=(
# --- Add models here ---
# "/root/zwj/Model/Qwen2.5-VL-7B-Instruct|Qwen2.5-VL-7B-Instruct-32f-1.0|32|1.0"
# "/root/zwj/Model/Qwen2.5-VL-7B-Instruct|Qwen2.5-VL-7B-Instruct-32f-1.1|32|1.1"
# "/root/zwj/Video-R1/src/r1-v/log/DeltaMask-GRPO-v5_SFT-v9-16f_ts-reward|DM-GRPO-v5_SFT-v9-16f_rep1.1|32|1.1"
# "/root/zwj/Video-R1/src/r1-v/log/DeltaMask-GRPO-v4_SFT-v9-32f_ts-reward|DM-GRPO-v4_SFT-v9-32f_rep1.1|32|1.1"
"/root/zwj/Model/SFT/Qwen2.5-VL-7B-Video-CoT-SFT-v5-same-speed-32f|SFT-v5-same-speed-32f_rep1.0|32|1.0"
# "/root/zwj/Model/SFT/Qwen2.5-VL-7B-Video-CoT-SFT-v5-same-speed-32f|SFT-v5-same-speed-32f_rep1.1|32|1.1"
)
# Defaults (override via CLI args)
GPUS="${GPUS:-0,1,2,3}"
BENCHMARKS="${BENCHMARKS:-tempcompass}"
BSZ="${BSZ:-64}"
MAX_TOKENS="${MAX_TOKENS:-4096}"
MAX_MODEL_LEN="${MAX_MODEL_LEN:-16384}"
GPU_MEM="${GPU_MEM:-0.8}"
# ========================== Parse CLI args ==========================
while [[ $# -gt 0 ]]; do
case $1 in
--gpus) GPUS="$2"; shift 2;;
--benchmarks) BENCHMARKS="$2"; shift 2;;
--bsz) BSZ="$2"; shift 2;;
--max_tokens) MAX_TOKENS="$2"; shift 2;;
*) echo "Unknown arg: $1"; exit 1;;
esac
done
export CUDA_VISIBLE_DEVICES="$GPUS"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# ========================== Run ==========================
if [ ${#MODELS[@]} -eq 0 ]; then
echo "ERROR: No models configured. Edit MODELS array in this script."
exit 1
fi
for entry in "${MODELS[@]}"; do
IFS='|' read -r MODEL_PATH FILE_NAME NFRAMES REP_PENALTY <<< "$entry"
echo ""
echo "============================================================"
echo " Model: $MODEL_PATH"
echo " File name: $FILE_NAME"
echo " Frames: $NFRAMES"
echo " rep_penalty: $REP_PENALTY"
echo " Benchmarks: $BENCHMARKS"
echo " GPUs: $GPUS"
echo "============================================================"
NFRAMES_ARG=""
if [ -n "$NFRAMES" ] && [ "$NFRAMES" != "none" ]; then
NFRAMES_ARG="--nframes $NFRAMES"
fi
python "$SCRIPT_DIR/eval.py" \
--model_path "$MODEL_PATH" \
--file_name "$FILE_NAME" \
--benchmarks $BENCHMARKS \
--bsz "$BSZ" \
--max_tokens "$MAX_TOKENS" \
--max_model_len "$MAX_MODEL_LEN" \
--gpu_memory_utilization "$GPU_MEM" \
--repetition_penalty "$REP_PENALTY" \
$NFRAMES_ARG
echo "Done: $FILE_NAME"
done
echo ""
echo "All evaluations complete."