Download eval/run_eval.sh from ZWJ666/VideoMend: direct link, hf CLI and curl.
- Browser
- Download file 3.54 kB
-
https://huggingface.co/ZWJ666/VideoMend/resolve/main/eval/run_eval.sh
- Command line
-
hf download hf://ZWJ666/VideoMend/eval/run_eval.sh
-
curl -L -o run_eval.sh https://huggingface.co/ZWJ666/VideoMend/resolve/main/eval/run_eval.sh
3.54 kB
| # ================================================================ | |
| # 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." | |