Download eval/run_predictor_eval_s2.sh from Cccccz/comparison: direct link, hf CLI and curl.
- Browser
- Download file 2.49 kB
-
https://huggingface.co/Cccccz/comparison/resolve/main/eval/run_predictor_eval_s2.sh
- Command line
-
hf download hf://Cccccz/comparison/eval/run_predictor_eval_s2.sh
-
curl -L -o run_predictor_eval_s2.sh https://huggingface.co/Cccccz/comparison/resolve/main/eval/run_predictor_eval_s2.sh
2.49 kB
| # Extended-251 evaluation of the Stage-2 EMA Predictor: generation sharded over | |
| # $GPUS, VBench only for the strategies generated here, then aggregate. | |
| # GPUS="0 1 2" bash eval/run_predictor_eval_s2.sh logs_cfa_s2 | |
| set -u | |
| C=/local/zoubin/cz/projects/comparison | |
| V=/local/zoubin/cz/projects/VBench | |
| PY=/local/zoubin/cz/envs/self_forcing/bin/python | |
| VPY=/local/zoubin/cz/envs/vbench_eval/bin/python | |
| LOG="$(mkdir -p "$1" && cd "$1" && pwd)" | |
| MODELS="${MODELS:-atc_chunk_s2}" | |
| PATTERNS="${PATTERNS:-FPFF,FPPF,FPPP}" | |
| GPUS=(${GPUS:-0 1 2}) | |
| NSHARDS=${#GPUS[@]} | |
| export SSL_CERT_FILE=/etc/pki/tls/certs/ca-bundle.crt | |
| export TORCH_HOME=/local/zoubin/cz/.cache/torch | |
| export HF_HOME=/local/zoubin/cz/.cache/huggingface | |
| export HF_HUB_CACHE=/local/zoubin/cz/.cache/huggingface/hub | |
| export TRANSFORMERS_CACHE=/local/zoubin/cz/.cache/huggingface/hub | |
| export XDG_CACHE_HOME=/local/zoubin/cz/.cache | |
| export VBENCH_CACHE_DIR=/local/zoubin/cz/.cache/vbench | |
| cd "$C" | |
| echo "=== generation ($(date +%H:%M:%S)) gpus=${GPUS[*]} models=$MODELS patterns=$PATTERNS ===" | |
| pids=() | |
| for i in $(seq 0 $((NSHARDS-1))); do | |
| CUDA_VISIBLE_DEVICES=${GPUS[$i]} $PY eval/generate_predictor_eval.py \ | |
| --shard $i --num-shards $NSHARDS --out-root eval_out --models "$MODELS" --patterns "$PATTERNS" \ | |
| > "$LOG/gen_$i.log" 2>&1 & | |
| pids+=($!) | |
| done | |
| status=0; for p in "${pids[@]}"; do wait "$p" || status=1; done | |
| echo "=== generation done ($(date +%H:%M:%S)) status=$status ===" | |
| [[ $status == 0 ]] || { echo "generation failed; not scoring"; exit 1; } | |
| strats=() | |
| for m in ${MODELS//,/ }; do for pat in ${PATTERNS//,/ }; do strats+=("cfa_${m}_$(echo "$pat" | tr 'A-Z' 'a-z')"); done; done | |
| echo "=== vbench ($(date +%H:%M:%S)) strategies=${strats[*]} ===" | |
| export PYTHONPATH="$V:$C" | |
| cd "$V" | |
| pids=() | |
| for g in $(seq 0 $((NSHARDS-1))); do | |
| ( | |
| for i in $(seq $g $NSHARDS $(( ${#strats[@]} - 1 ))); do | |
| s="${strats[$i]}" | |
| [[ -f "$C/eval_out/vbench/scores/$s.json" ]] && { echo "skip $s"; continue; } | |
| echo "[gpu ${GPUS[$g]}] $s $(date +%H:%M:%S)" | |
| CUDA_VISIBLE_DEVICES=${GPUS[$g]} $VPY "$C/eval/run_vbench.py" --strategy "$s" --out-root "$C/eval_out" \ | |
| > "$LOG/vbench_$s.log" 2>&1 || echo "[gpu ${GPUS[$g]}] FAILED $s" | |
| done | |
| ) & | |
| pids+=($!) | |
| done | |
| for p in "${pids[@]}"; do wait "$p"; done | |
| echo "=== aggregating ($(date +%H:%M:%S)) ===" | |
| cd "$C" | |
| $PY eval/aggregate.py --out-root "$C/eval_out" --allow-incomplete > "$LOG/aggregate.log" 2>&1 | |
| echo "ALL S2 PHASES DONE $(date +%H:%M:%S)" | |