File size: 1,948 Bytes
3a464db
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/usr/bin/env bash
# Fast-dDrive Waymo-E2E open-loop evaluation launcher.
#
# Required env:
#   EVAL_JSON    β€” Waymo E2E validation JSON
#   IMAGE_ROOT   β€” root that EVAL_JSON's image paths are relative to
#
# Optional env:
#   MODEL_PATH   β€” Fast-dDrive checkpoint dir or HuggingFace id
#                  (default: Efficient-Large-Model/Fast-dDrive β€” paper checkpoint on the HF Hub)
#   MODE         β€” section_diffusion | scaffold_spec | inference_scaling
#                  (default: scaffold_spec β€” paper canonical SS)
#   OUTPUT_DIR   β€” default: fast_ddrive/eval_outputs/<ckpt_basename>_<mode>
#   NUM_GPUS     β€” default: auto-detect from nvidia-smi
#   MAX_SAMPLES  β€” default: full validation set

set -eo pipefail

FAST_DDRIVE_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"

MODEL_PATH="${MODEL_PATH:-Efficient-Large-Model/Fast-dDrive}"
: "${EVAL_JSON:?Set EVAL_JSON to the Waymo E2E val JSON path.}"
: "${IMAGE_ROOT:?Set IMAGE_ROOT to the directory referenced by EVAL_JSON image paths.}"

MODE="${MODE:-scaffold_spec}"
NUM_GPUS="${NUM_GPUS:-$(nvidia-smi --list-gpus 2>/dev/null | wc -l | tr -d '[:space:]')}"
[[ "${NUM_GPUS}" =~ ^[0-9]+$ ]] && [ "${NUM_GPUS}" -ge 1 ] || NUM_GPUS=1
OUTPUT_DIR="${OUTPUT_DIR:-${FAST_DDRIVE_ROOT}/eval_outputs/$(basename "${MODEL_PATH}")_${MODE}}"

echo "=========================================="
echo "Fast-dDrive eval"
echo "  Model:    ${MODEL_PATH}"
echo "  Mode:     ${MODE}"
echo "  NUM_GPUS: ${NUM_GPUS}"
echo "  Output:   ${OUTPUT_DIR}"
echo "=========================================="

python3 "${FAST_DDRIVE_ROOT}/eval/batch_inference.py" \
    --model_path "${MODEL_PATH}" \
    --eval_json "${EVAL_JSON}" \
    --image_root "${IMAGE_ROOT}" \
    --output_dir "${OUTPUT_DIR}" \
    --mode "${MODE}" \
    --num_gpus "${NUM_GPUS}" \
    ${CONFIDENCE_THRESHOLD:+--confidence_threshold ${CONFIDENCE_THRESHOLD}} \
    ${MAX_SAMPLES:+--max_samples ${MAX_SAMPLES}} \
    "$@"